前提・実現したいこと
pythonフレームワークdjangoでブログ作成をしています。
テキストにてブラウザurlにurl/detail/記事番号/ にて個別の詳細画面が出るはずですが記事の内容も表示されす真っ白になります。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
127.0.0.1:8000/detail/2 とブラウザurlに打ち込むと真っ白の画面です。 127.0.0.1:8000/detail のみだと404エラーになり Using the URLconf defined in blogproject.urls, Django tried these URL patterns, in this order: admin/ admin/ list/ detail/<int:pk>/ The current path, detail/, didn't match any of these. と表示されます
該当のソースコード
#urlsファイル アプリ from django.contrib import admin from django.urls import path from .views import BlogList, BlogDetail urlpatterns = [ path('admin/', admin.site.urls), path('list/', BlogList.as_view()), path('detail/<int:pk>/', BlogDetail.as_view()), ] #urlsファイル プロジェクト from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('blogpost.urls')) ] #views.pyファイル アプリ from django.shortcuts import render from django.views.generic import ListView, DetailView from .models import BlogModel class BlogList(ListView): template_name = 'list.html' model = BlogModel class BlogDetail(DetailView): template_name = 'detail.html' model = BlogModel #templates内detail.htmlファイル プロジェクト {{ obuject.category }} {{ obuject.title }} {{ obuject.content }} {{ obuject.postdate }} #models.pyファイル アプリ from django.db import models class SampleModel(models.Model): title = models.CharField(max_length=100) number = models.IntegerField() CATEGORY = (('business','ビジネス'),('life','生活'),('other','その他')) class BlogModel(models.Model): title = models.CharField(max_length=100) content = models.TextField() postdate = models.DateField(auto_now_add=True) category = models.CharField( max_length = 50, choices = CATEGORY ) def __str__(self): return self.title
試したこと
最初はobjectを認識する番号が指定されていないとエラーが出てたので、アプリファイルのurls.pyのパスにint:pk/を追加したらそのエラーは解消したのですが、次は現在のパスはdetail/、これらのいずれとも一致しませんというエラーになります。
vscodeないではエラーは出てないです。
ランサーバーもしています。
初めてのフレームワークで原因がわからず手詰まりです。
詳しい方おりましたらご協力お願いします。
補足情報(FW/ツールのバージョンなど)
django
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。