0
votes

When visiting http://localhost:8000/reset-password/ I get following error:

NoReverseMatch at /reset-password/

Reverse for 'password_reset_done' not found. 'password_reset_done' is not a valid view function or pattern name.

But, if I visit http://localhost:8000/reset-password/done/ it shows no error.

from django.conf.urls import url
from account import views
from django.contrib.auth.views import (
    login,
    logout,
    password_reset,
    password_reset_done,
    password_reset_confirm,
    password_reset_complete,
)


urlpatterns = [
    url(r'^register/$', views.register_view, name='register'),
    url(r'^login/$', login, {'template_name': 'account/login.html'}, name='login'),
    url(r'^logout/$', logout, {'template_name': 'home.html',
        'next_page': '/login'}, name='logout'),
    url(r'^profile/$', views.view_profile, name='profile'),
    url(r'^profile/edit/$', views.edit_profile, name='edit_profile'),
    url(r'^profile/change-password/$', views.change_password, name='change_password'),
    url(r'^reset-password/$', password_reset, name='reset_password'),
    url(r'^reset-password/done/$', password_reset_done, name='reset_password_done'),
    url(r'^reset-password/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
        password_reset_confirm, name='reset_password_confirm'),
    url(r'^reset-password/complete/$', password_reset_complete, name='reset_password_complete'),

]

Please help me to solve this error. I'm using django vesion 2.0.2.

Thanks in advance.

1

1 Answers

0
votes

A typo here: You do not have a so-called url_name = password_reset_done, you have reset_password_done

 url(r'^reset-password/done/$', password_reset_done, name='reset_password_done'),