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

问题是 "United Kingdom" 与 regex 不匹配[-\w]+。如果您还想匹配空格,则应将正则表达式更改为[-\w\ ]+. 例子:

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

您还可以选择匹配\s而不是仅匹配单个空格字符。

于 2013-08-21T02:16:22.873 回答