我正在尝试将旧版本django1.5升级到新版本。 升级后,当我进入密码重置页面时,Django给我错误:
TypeError at /accounts/password/reset/
password_reset() got an unexpected keyword argument 'post_change_redirect'
Request Method: GET TypeErrorRequest URL: http://localhost:8000/accounts/password/reset/ Django Version: 1.6.11 Exception Type: TypeError Exception Value:
password_reseteset() got an unexpected keyword argument 'post_change_redirect'
Exception Location: /home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/utils/decorators.py in _wrapped_view, line 99 Python Executable: /home/martin/Work/wisepress.com/virtualenv/bin/python Python Version: 2.7.8
—
Traceback: File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 112. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/martin/Work/wisepress.com/eshopwisepress/wp_auth/views.py" in passwd_reset 109. return password_reset(request, *args, **kwargs) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view 99. response = view_func(request, *args, **kwargs) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/contrib/auth/views.py" in password_reset 142. post_reset_redirect = reverse('password_reset_done') File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse 536. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix 456. (lookup_view_s, args, kwargs, len(patterns), patterns))
Exception Type: NoReverseMatch at /accounts/password/reset/ Exception Value: Reverse for 'password_reset_done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
在网址.py我有:
url(r'^password/reset/done/$', 'django.contrib.auth.views.password_reset_done', name='passwd_reset_done'),
url(r'^password/reset/confirm/(?P<uidb36>\w+)/(?P<token>[\d\w-]+)/$', 'django.contrib.auth.views.password_reset_confirm_uidb36', name='passwd_reset_confirm'),
url(r'^password/reset/completed/$', 'django.contrib.auth.views.password_reset_complete', name='passwd_reset_complete'),
url(r'^password/reset/$', passwd_reset, {'template_name':'emailing/registration-activation/password_reset_email.html'}, name='password_reset'),
在视图.py我有:
^{pr2}$在django1.5中它工作得很好,但是在较新的版本中会出现错误。 你知道怎么修理吗?? 谢谢
编辑: 我换了房间网址.py重置密码的一些URL。现在有了:
url(r'^password/reset/done/$', 'django.contrib.auth.views.password_reset_done', name='password_reset_done'),
url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', 'django.contrib.auth.views.password_reset_confirm', name='password_reset_confirm'),
url(r'^password/reset/completed/$', 'django.contrib.auth.views.password_reset_complete', name='password_reset_complete'),
url(r'^password/reset/$', passwd_reset, {'template_name':'emailing/registration-activation/password_reset_email.html'}, name='password_reset'),
现在我有个错误:
Template error: In template /home/martin/Work/wisepress.com/eshopwisepress/templates/emailing/registration-activation/password_reset_email.html, error at line 44
> Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb64': '', u'token': ''}' not found. 1 pattern(s) tried: ['accounts/password/reset/confirm/(?P\w+)/(?P[\d\w-]+)/$']
第44行现在:
<a href="{{ protocol }}://{{ site_name }} {% url 'django.contrib.auth.views.password_reset_confirm' uidb64=uid token=token %} " target="_blank" style="color: #68b58e; text-decoration: none; font-style: italic;">Reset password</a><br/><br/>
—
Traceback: File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 137. response = response.render() File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/response.py" in render 105. self.content = self.rendered_content File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content 82. content = template.render(context) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/base.py" in render 140. return self._render(context) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/base.py" in _render 134. return self.nodelist.render(context) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/base.py" in render 840. bit = self.render_node(node, context) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node 78. return node.render(context) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render 447. six.reraise(*exc_info) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render 433. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse 536. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File "/home/martin/Work/wisepress.com/virtualenv/local/lib/python2.7/site-packages/django/core/urlresolvers.py" in _reverse_with_prefix 456. (lookup_view_s, args, kwargs, len(patterns), patterns))
Exception Type: NoReverseMatch at /accounts/password/reset/ Exception Value: Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb64': '', u'token': ''}' not found. 1 pattern(s) tried: ['accounts/password/reset/confirm/(?P\w+)/(?P[\d\w-]+)/$']
在您的^{} url模式中,
template_name
不应与您的email_template_name
相同。template_name
是向用户显示密码重置表单的模板。在相关问题 更多 >
编程相关推荐