neu*_*rix 1 django url reverse arguments
这个问题看起来很简单,并且在 SO 中多次描述,但我仍然无法弄清楚为什么它在我的情况下不起作用。
所以,我在urls.py 中声明了一个 url
urlpatterns = patterns('',
url(r'^(?P<country>[-\w]+)/$', CountryListView.as_view(), name='list_by_country'),)
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我正在调用 url
<a href="{% url 'list_by_country' country.country__name %}" >{{ country.country__name }}</a>
Run Code Online (Sandbox Code Playgroud)
但是,我收到无法反转 url的错误消息
Reverse for 'list_by_country' with arguments '(u'United Kingdom',)' and keyword arguments '{}' not found
Run Code Online (Sandbox Code Playgroud)
什么导致反向错误?参数中的空格可能不允许吗?
问题是“英国”与 regex 不匹配[-\w]+
。如果您还想匹配空格,则应将正则表达式更改为[-\w\ ]+
. 例子:
url(r'^(?P<country>[-\w\ ]+)/$', CountryListView.as_view(), name='list_by_country')
Run Code Online (Sandbox Code Playgroud)
您还可以选择匹配\s
而不是单个空格字符。
归档时间: |
|
查看次数: |
2007 次 |
最近记录: |