{%URL%}给我NoReverseMatch错误,而反向()返回URL就好了。 为什么?({%

2019-07-29 04:06发布

我不知道这太问题是,我将要描述的同样的问题,但它并共享相同的症状。 不幸的是,当我写仍然没有得到解决。

因此,这里是我的问题。 我想詹姆斯·贝内特的加入Django的注册应用到我的Django项目。 我已经几乎完成了它配置到我的需求 - 自定义模板和网址。 就在我以为一切都很好走。 我NoReverseMatch错误使用{% url 'testing' item_id=123 %} (I也尝试过使用视图名称, myapp.views.test ,代替但没有运气)中的由Django的注册所需的自定义模板之一。 有趣的是,我试图reverse('testing', kwargs={'item_id':123})在外壳和被返回的URL就好了。 我想{% url %}使用reverse()在后端,但是为什么我得到不同的结果?

urls.py:(我的网站的URL配置)

urlpatterns = patterns('myapp.views',
    url(r'^test/(?P<item_id>\d+)/$', 'test', name='testing'),
)

activation_email.txt:(上述模板注意这是故意在扩展名为.txt所要求的Django的登记,这不应该是问题的原因。)

{% comment %}Used to generate the body of the activation email.{% endcomment %}
Welcome to {{ site }}! Please activate your account by clicking on the following link:

{% url 'testing' item_id=123 %}

Note the activation link/code will be expired in {{ expiration_days }} days.

我不知道这是否是重要的,但只是觉得我应该提到activation_email.txt被存储在模板目录中myapp虽然它使用的django-registration

此外,我使用Django 1.4

我有一种感觉,这个问题有事情做与URL命名空间,我从来没有了解的话题,但它只是一个天真的猜测。 (IMO,Django文档在解释有关Django的,一切伟大的,当它涉及到的URL命名空间除外)

Answer 1:

我不是专家,在这里,但在Django项目,我是做什么工作的我用的URL的名称不带引号。 我只是在我的模板之一添加引号类似的线,它产生同样的错误作为你的错误。

尝试:

{% url testing item_id=123 %}


文章来源: {% url %} gives me NoReverseMatch error while reverse() returns the url just fine. Why?