Django 捕获 NoReverseMatch - TemplateSyntaxError
Posted
技术标签:
【中文标题】Django 捕获 NoReverseMatch - TemplateSyntaxError【英文标题】:Django Caught NoReverseMatch - TemplateSyntaxError 【发布时间】:2011-05-07 09:37:02 【问题描述】:我收到此错误,但似乎无法弄清楚。我直接从以前的 Django 项目中复制了它,因此造成了部分混乱。
渲染时 Caught NoReverseMatch 出现TemplateSyntaxError:未找到带有参数“()”和关键字参数“”的“about”的反向。
在我的 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"),
)
【问题讨论】:
【参考方案1】:问题是我的第二个 urlpattern 覆盖了第一个模式。
代替:
urlpatterns = patterns('',
必须是:
urlpatterns += patterns('',
【讨论】:
【参考方案2】:url 正则表达式需要一个斜线结尾。违规网址是否以斜杠结尾?
如果您的 PREPEND_SLASHES 设置与您上一个项目不同,这可能解释了您看到的错误!
【讨论】:
【参考方案3】:你的网址没问题。您需要检查两件事:
-
urls.py 是否包含在主 urls.py 中?
应用程序是否添加到 settings.py 中的 INSTALLED_APPLICATIONS 中?
【讨论】:
以上是关于Django 捕获 NoReverseMatch - TemplateSyntaxError的主要内容,如果未能解决你的问题,请参考以下文章
在 Django 中使用 % url % 时的 NoReverseMatch