Это похоже на обычную проблему, с которой сталкиваются люди, но я не могу понять это для жизни меня. Я создал URL:Django NoReverseMatch на счетах/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
URL:
<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
.
Попробуйте 'URL ('^ password_reset/$', auth_views.password_reset, имя = 'password_reset'),' 'отметить $ 'в вашем регулярном выражении URL. – Gocht
Не повезло изменить это (хотя, вы правы, $ должно быть там) – 123
Я считаю, что вы вызываете этот url с использованием '' password_reset_done'' как имя, и оно должно быть '' password_reset'' – Gocht