在模板中,我有{% url "news.views.article" article=article.id %}
,其中article.id是当前显示的文章的ID。我的urls.py包含这个:
url(r'^news/$', 'news.views.index'),
url(r'^news/article/(?P<article>\d{1,4})/$', 'news.views.article'),
但是,当我加载包含上述模板标签的页面时,我得到了这个:
NoReverseMatch at /news/
Reverse for '"news.views.article"' with arguments '()' and keyword arguments '{'article': 2}' not found.
答案 0 :(得分:4)
在视图定义周围没有引号的情况下尝试。
{% url news.views.article article=article.id %}
您已经定义了视图名称,因此这应该通过按名称调用函数来实现。
答案 1 :(得分:0)
视图名称周围带引号的语法仅适用于Django 1.5。由于您可能使用的是旧版本,因此应删除引号,或添加模板:
{% load url from future %}
然后使用引号。
有关弃用的更多信息 - Django 1.3 release notes