1

この問題は単純なようで、SO で何度も説明されていますが、私の場合はなぜ機能しないのかまだわかりません。

だから、urls.pyで宣言されたURLがあります

urlpatterns = patterns('',
    url(r'^(?P<country>[-\w]+)/$', CountryListView.as_view(), name='list_by_country'),)

私のテンプレートでは、URLを呼び出しています

<a href="{% url 'list_by_country' country.country__name %}" >{{ country.country__name }}</a>

ただし、URLを元に戻すことができないというエラーメッセージが表示されます

Reverse for 'list_by_country' with arguments '(u'United Kingdom',)' and keyword arguments '{}' not found

逆エラーの原因は何ですか? 引数のスペースは許可されていない可能性がありますか?


4

1 に答える 1

5

問題は、「英国」が正規表現と一致しないこと[-\w]+です。スペースも一致させたい場合は、正規表現を に変更する必要があります[-\w\ ]+。例:

url(r'^(?P<country>[-\w\ ]+)/$', CountryListView.as_view(), name='list_by_country')

\s単一のスペース文字の代わりに一致を選択することもできます。

于 2013-08-21T02:16:22.873 に答える