我最近将我的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.
感谢您提供任何帮助
答案 0 :(得分:4)
这样做的结果是,如果您未在模板中使用{%load url from future%},则需要将{%url myview%}等标记更改为{%url“myview”%}。如果你使用来自未来%的{%load url},你可以在Django 1.5下删除该行
这意味着,在降级期间,
{% url "myview" %}
应该是
{% url myview %}
这是错误的原因。