账号/密码寄存器中的Django NoReverseMatch /

时间:2016-01-21 23:11:02

标签: python django

这似乎是人们遇到的常见问题,但我无法弄清楚我的生活。我已经设置了一个网址:

from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views

urlpatterns = [
    url(r'^login/$', views.login_view, name='login'),
    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'^auth/$', views.login_auth, name='login_auth'),
    url(r'^register/$', views.register_user, name='register'),
    url(r'^logout/$', views.logout_user, name='logout'),
]

我尝试链接到password_reset网址:

<a href="/accounts/password_reset/">Forgot Password?</a>

但它给了我以下错误:

  

/ accounts / password_reset /的NoReverseMatch /   使用参数'()'和关键字参数'{}'找不到'password_reset_done'。尝试了0种模式:[]

这似乎是一个非常简单的代码,但它不起作用。我可以使用这种确切的方法成功呼叫password_reset_done,但出于某种原因,它无法与password_reset一起使用。

1 个答案:

答案 0 :(得分:0)

password_reset行应如下所示:

url(r'^password_reset/$', auth_views.password_reset, {'post_reset_redirect' : '/accounts/password_reset_done/'}, name='password_reset'),