/password_reset/done/ 处的 NoReverseMatch
NoReverseMatch at /password_reset/done/
我刚刚从这个tutorial中学到了如何在 django 中重置密码。但我无法解决
error:NoReverseMatch at /password_reset/done
from django.contrib.auth import views as auth_views
urlpatterns = [
url(r'^password_reset/$', auth_views.password_reset, name='password_reset'),
url(r'^password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', auth_views.password_reset_confirm,
name='password_reset_confirm'),
url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'),
]
回溯的主要部分是:
Reverse for 'password_reset_confirm' with keyword arguments
'{u'uidb64': '', u'token': ''}' not found. 1 pattern(s) tried:
['reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
空字符串与 url 的正则表达式不匹配。您必须使用适当的 uidb64
和 token
调用 reverse()
。您是否将它们传递到您的模板上下文中?
您的 password_reset_done.html
模板不正确。它包括以下导致错误的 url 标记。
{% url 'password_reset_confirm' uidb64=uid token=token %}
但是 url 属于 password_reset_email.html
模板,该模板会呈现并通过电子邮件发送给用户。
password_reset_done.html
模板应该告诉用户密码已重置并检查他们的电子邮件。您链接到的 tutorial 显示了一个有效的模板,您复制的模板不正确。
我刚刚从这个tutorial中学到了如何在 django 中重置密码。但我无法解决
error:NoReverseMatch at /password_reset/done
from django.contrib.auth import views as auth_views
urlpatterns = [
url(r'^password_reset/$', auth_views.password_reset, name='password_reset'),
url(r'^password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', auth_views.password_reset_confirm,
name='password_reset_confirm'),
url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'),
]
回溯的主要部分是:
Reverse for 'password_reset_confirm' with keyword arguments
'{u'uidb64': '', u'token': ''}' not found. 1 pattern(s) tried:
['reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$']
空字符串与 url 的正则表达式不匹配。您必须使用适当的 uidb64
和 token
调用 reverse()
。您是否将它们传递到您的模板上下文中?
您的 password_reset_done.html
模板不正确。它包括以下导致错误的 url 标记。
{% url 'password_reset_confirm' uidb64=uid token=token %}
但是 url 属于 password_reset_email.html
模板,该模板会呈现并通过电子邮件发送给用户。
password_reset_done.html
模板应该告诉用户密码已重置并检查他们的电子邮件。您链接到的 tutorial 显示了一个有效的模板,您复制的模板不正确。