NoReverseMatch错误:Django-Registration

时间:2013-08-18 21:25:08

标签: django django-registration reverse-lookup

我最近将我的Django项目从1.5降级到1.4,以便在OpenShift服务器上托管我的项目。在这个过程中,我似乎已经为django-registration app的反向查找创建了一个问题。

具体来说,当我将数据发布到/accounts/register/(注册新用户的表单)时,我收到500错误,没有向用户发送电子邮件以确认其帐户。但是,用户被添加为auth_users表的非活动用户,新密钥将添加到registration表中,这是奇怪的。

我已经在互联网上查找了这个问题的答案,但无论我尝试什么,它都无法解决问题。我的追溯显示如下:

Internal Server Error: /accounts/register/

...

File "/var/lib/openshift/526304/python/virtenv/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/base.py", line 837, in render_node
    return node.render(context)

File "/var/lib/openshift/526304/python/virtenv/lib/python2.6/site-packages/Django-1.4-py2.6.egg/django/template/defaulttags.py", line 424, in render
    raise e

NoReverseMatch: Reverse for '"registration_activate"' with arguments '('0747dcf8831ac8d54ca69348bc499a2cc549a9ea',)' and keyword arguments '{}' not found.

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:4)

来自django-1.5

的发行说明
  

这样做的结果是,如果您未在模板中使用{%load url from future%},则需要将{%url myview%}等标记更改为{%url“myview”%}。如果你使用来自未来%的{%load url},你可以在Django 1.5下删除该行

这意味着,在降级期间,

{% url "myview" %}

应该是

{% url myview %} 

这是错误的原因。