2016-01-21 72 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'),