8

我不知道这个SO 问题是否与我将要描述的问题相同,但它确实具有相同的症状。不幸的是,在我写作时,它仍然没有解决。

所以这是我的问题。我正在尝试将 James Bennett 的django-registration 应用程序添加到我的 django 项目中。我已经完成了根据我的需要配置它 - 自定义模板和 url。就在我认为一切都很好的时候。NoReverseMatch在 django-registration 所需的自定义模板之一中使用(我{% url 'testing' item_id=123 %}也尝试使用视图名称,myapp.views.test但没有运气)时出现错误。有趣的是,我在 shell 中尝试过reverse('testing', kwargs={'item_id':123}),并且返回的 url 很好。我认为在后端{% url %}使用,但为什么我得到不同的结果?reverse()

urls.py:(我网站的 URLconf)

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

activation_email.txt :(上述模板。请注意,它是 django-registration 要求的故意在.txt扩展名中,这不应该是问题的原因。)

{% 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 命名空间)

4

1 回答 1

12

我在这里不是专家,但在我正在处理的 Django 项目中,我使用不带引号的 url 名称。我刚刚在我的一个模板中的类似行周围添加了引号,它产生了与您的错误相同的错误。

尝试:

{% url testing item_id=123 %}
于 2012-04-27T23:22:37.670 回答