###前提・実現したいこと
表題の通りhtml書いたリンクが原因でページが表示されないというエラーが発生しております。(今までは正常に動作していたのですが、、、)
ビュー、URLおよびテンプレートをご覧下さい。
#views.py def scategory(request, id): row_data = Phrase_data.objects.filter(id = id) return render(request, 'each_page/scategory.html', {'row_data': row_data})
ここで外部から取得したIDを元にrow_dataを作成しテンプレートへ渡します。
#scategory.html {% for s in row_data %} <button type="button" class="btn btn-default btn-xs"> <a href="{% url 'mammmo:edit' s.id %}">Edit</a></button> {% endfor %}
テンプレートにおいてrow_dataより〝id〝を取り出し、/edit/"id"/という形で数値を渡し、リンク先へ飛ばすという仕組みです。
ちなみにurls.pyは、
#urls.py url(r'^edit/(?P<id>[0-9]+)/$', views.EditView.as_view(), name='edit') #リンク先です url(r'^scategory/(?P<id>[0-9]+)/$', views.scategory, name='scategory') ♯表示できないページです
このようになっております。
###発生している問題・エラーメッセージ
djangoからのメッセージは下記の通りです。
NoReverseMatch at /scategory/1/ Reverse for 'edit' with arguments '('',)' not found. 1 pattern(s) tried: ['edit/(?P<id>[0-9]+)/$']
補足情報としては、ブラウザより/edit/1/と入力すれば正常に動作します。
またテンプレートに書いた<a>タグ部分を消しても、何故か同じエラーが表示されます。
今まで正常に動いていた分ショックが大きく…
何卒解決方法をご教授頂けたらと思っております。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/10 07:03