【问题标题】:Django: Reverse not found > {% url %} in templateDjango:在模板中找不到反向> {% url %}
【发布时间】:2013-08-23 06:00:12
【问题描述】:

这个问题看起来很简单,并且在 SO 中多次描述,但我仍然无法弄清楚为什么它在我的情况下不起作用。

所以,我在 urls.py

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

在我的模板中,我正在调用网址

<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

是什么导致了反向错误?参数中可能不允许有空格吗?


【问题讨论】:

    标签: django url arguments reverse


    【解决方案1】:

    问题是“英国”与正则表达式 [-\w]+ 不匹配。如果您还想匹配空格,您应该将您的正则表达式更改为[-\w\ ]+。示例:

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

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

    【讨论】:

      猜你喜欢
      • 2013-08-18
      • 2021-01-05
      • 2018-06-07
      • 2013-01-02
      • 1970-01-01
      • 2012-01-04
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多