2016-01-21 115 views
0

这似乎是人们遇到的一个普遍问题,但我无法想象出我的生活。我已经建立了一个网址:Django NoReverseMatch at accounts/password_reset/

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> 

但它给我下面的错误:

NoReverseMatch at /accounts/password_reset/ Reverse for 'password_reset_done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

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

+0

试试这个'网址( '^ password_reset/$',auth_views.password_reset,名称= 'password_reset'),''注意$ '在你的url正则表达式中。 – Gocht

+0

没有好运改变(虽然,你是对的,$应该在那里) – 123

+0

我wh you你使用''password_reset_done''作为名称调用此网址,它应该是''password_reset'' – Gocht

回答

0

password_reset线应该是这样的:

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