0

URL テンプレート タグを試していたところ、次のような問題に遭遇しました。

Caught NoReverseMatch while rendering: Reverse for ''location'' with arguments 
'(<City: New York>,)' and keyword arguments '{}' not found.

私のテンプレートファイルには次のものがあります:

{% url 'location' city_name=city.name %}

url.py

url(r'^location/(?P<city_name>.*)/$', CityView.as_view(), name="location"), 

models.py

def get_absolute_url(self):                                                                                                                                                                               
    return "/location/%s" % self.name
4

2 に答える 2

4

コメントで、Maik Hoepfelのおかげで更新されました。

'Django-1.5より前では、次のマークは必要ありません:

{% url 'location' city_name=city.name %}

urlただし、将来のモジュールからロードすることで有効にすることができます。{% load url %}使用するのではなく{% load url from future %}

あなたの場合、Django 1.5より前で、URLの将来のバージョンがない場合は、次を使用できます。

{% url location city_name=city.name %}

文字通り を探しているため、名前の値が見つからないと思われます'location'

于 2012-05-07T19:52:46.133 に答える
0

申し訳ありませんが、私はここに来たばかりなので、これで問題が解決したかどうかはわかりません。まだ解決されていない場合、エラーメッセージには、positionell-arguments があり、keyword-arguments がないことが示されているように見えます。

リバース関数は、キーワード引数を受け入れるビュー ウィッチを探します。urls.py エントリは、キーワード引数 ?P を作成しています。

?P<...> なしで (.*) のような位置引数を使用している urls.py に別のエントリがあるかどうかを確認してください。

背景: positionell とキーワード引数を同時に使用することはできません。

于 2013-02-03T19:24:38.810 に答える