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

没有反向匹配 - django.urls.exceptions.NoReverseMatch

Django 查看错误 - NoReverseMatch

网址 django,NoReverseMatch

如何修复 Django“NoReverseMatch”错误

Django 测试 - NoReverseMatch