【发布时间】:2016-09-05 17:17:25
【问题描述】:
我在 django 1.6 网站上重置密码时遇到问题。 urls.py 有:
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
'django.contrib.auth.views.password_reset_confirm',
name='password_reset_confirm'
当我点击Reset my password 链接时,我得到:
NoReverseMatch at /user/password/reset/
Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': 'Mw', u'token': u'4bs-b5728359cb279d542120'}' not found. 1 pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>.+)/$']
这是回溯:
Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
99. response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/views.py" in password_reset
158. form.save(**opts)
File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/forms.py" in save
256. email = loader.render_to_string(email_template_name, c)
File "/usr/local/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
164. return t.render(Context(dictionary))
File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in render
140. return self._render(context)
File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in _render
134. return self.nodelist.render(context)
File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/usr/local/lib/python2.7/site-packages/django/template/base.py" in render_node
854. return node.render(context)
File "/usr/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
447. six.reraise(*exc_info)
File "/usr/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 "/usr/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 "/usr/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 /user/password/reset/
Exception Value: Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': 'Mw', u'token': u'4bs-b5728359cb279d542120'}' not found. 1 pattern(s) tried: ['reset/(?P<uidb64>[0-9A-Za-z_\\-]+)/(?P<token>.+)/$']
【问题讨论】:
-
您是否查看过围绕此功能的 django 1.6 源代码,它为您提供了 django 用于验证 url 的正则表达式示例。 github.com/django/django/blob/1.6.11/django/contrib/auth/…
-
这与正则表达式无关,也不与其他问题相同。问题似乎是那部分在
uidb36,部分在uidb64 -
请显示完整的回溯。
-
问题已更新回溯。
标签: django