1

我最近将我的 Django 项目从 1.5 降级到 1.4,以便在 OpenShift 服务器上托管我的项目。在此过程中,我似乎为 django-registration 应用程序的反向查找造成了问题。

具体来说,当我将数据发布到/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.

感谢您的任何帮助

4

1 回答 1

4

来自django-1.5的发行说明

这样做的结果是,如果您没有在模板中使用 {% load url from future %},则需要将 {% url myview %} 等标签更改为 {% url "myview" %}。如果您使用 {% load url from future %} 您可以简单地在 Django 1.5 下删除该行

这意味着,在降级期间,

{% url "myview" %}

应该

{% url myview %} 

这是错误的原因。

于 2013-08-18T21:36:07.123 回答