質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

12817閲覧

【Django】リンクエラー(NoReverseMatch…)

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/09/09 13:56

###前提・実現したいこと
表題の通り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>タグ部分を消しても、何故か同じエラーが表示されます。

今まで正常に動いていた分ショックが大きく…
何卒解決方法をご教授頂けたらと思っております。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1Reverse for 'edit' with arguments '('',)' not found. 2

というエラーが出ているので、テンプレートでのs.idが空、ということではないでしょうか。
今までは正常に動作していたとのことですし、最近id値が空のデータを作成したりしませんでしたか。

Phrase_dataモデルの内容やscategory.htmlの全体のhtmlも載せたほうが良いかもしれませんね。

投稿2017/09/10 02:55

編集2017/09/10 03:45
toritoritorina

総合スコア972

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/10 07:03

ご指摘の通り空データが原因のようでした。 有難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問