Django捕获到NoReverseMatch - TemplateSyntaxError

3

我遇到了这个错误,但似乎无法解决。我直接从以前的Django项目中复制了它,因此有些困惑。

TemplateSyntaxError at Caught NoReverseMatch while rendering: Reverse for 'about' with arguments '()' and keyword arguments '{}' not found.

在我的index.html中,我有一个链接到{% url about %},但没有链接到about.html模板。

urls.py文件包含以下内容:

urlpatterns = patterns('django.views.generic.simple',
    url(r'^about/$', 'direct_to_template', {"template":"about.html"}, name="about"),
)
3个回答

4
问题在于我的第二个urlpattern覆盖了第一个pattern。
改为:
urlpatterns = patterns('',

需要的是:

urlpatterns += patterns('',

0

URL正则表达式需要以斜杠结尾。有问题的URL是否以斜杠结尾?

如果您的PREPEND_SLASHES设置与上一个项目不同,那么这可能解释了您看到的错误!


0

您的URL没有问题。您需要检查以下两点:

  1. 是否从主urls.py中导入了urls.py?
  2. 是否在settings.py的INSTALLED_APPLICATIONS中添加了应用程序?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接