前提
DjangoでWebアプリを作成しています。Detailviewを使い、クラスベースビューを作成し、データベースはmysqlを使用し、詳細画面を作ろうとしたところ、
Reverse for 'dedetail' with keyword arguments '{'pk': 1}' not found. 1 pattern(s) tried: ['webapp/detail/int:pk/']
というエラーが発生し、詳細画面に行くためのその前のページが表示されない。
実現したいこと
詳細画面および詳細画面の前のページが正しく表示されるようにしたい。
発生している問題・エラーメッセージ
Reverse for 'dedetail' with keyword arguments '{'pk': 1}' not found. 1 pattern(s) tried: ['webapp/detail/<int:pk>/']
該当のソースコード
他に必要なコードがあればご指示ください。
webapp/urls.py
1re_path('top/', views.Top.as_view(), name='top'), 2re_path('detail/<int:pk>/', views.Detail.as_view(), name='detail'),
webapp/views.py
1class Top(ListView): 2 model = models.BuyData 3 context_object_name = "data_list" 4 template_name = "webapp_HTML/top.html" 5 6class Detail(DetailView): 7 model = models.BuyData 8 context_object_name = "data_list" 9 template_name = "webapp_HTML/detail.html"
top.html
1(省略) 2{% for buydata in data_list %} 3 <a href="{% url 'App:detail' pk=buydata.pk %}">詳細</a> 4{% endfor %} 5(省略)
試したこと
pkの部分を変えたり、ulrで指定するapp:の表記を変更したり、urlの順番や表記等、自分で思いつく試せることはすべて試してみました。
補足情報(FW/ツールのバージョンなど)
Python 3.9.5
Django 4.0.6
mysql Ver 14.14 Distrib 5.7.39, for Win64 (x86_64)
あなたの回答
tips
プレビュー