我不知道这个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 命名空间)