[Django]-Reverse for 'password_change_done' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

2👍

Since you add password_change inside application’s url.py you should to specify post_change url including application name using post_change_redirect argument:

url(r'^password-change/$', password_change, {'post_change_redirect': 'account:password_change_done'}, name='password_change'),
url(r'^password-change/done/$', password_change_done, name='password_change_done'),

where account is a namespace of application urls.

0👍

The problem is likely that your URLs are namespaced and you forgot to use the namespace. Try:

{% url 'account:password_change_done' %}

or

reverse('account:password_change_done')

Remember to namespace your names, otherwise django might not be able to find them. You can find the namespace that you are using (if it is not account) by looking at where you are including the urls for login, etc. It should look something like:

url(r'account/', include('account.urls', namespace='account')),
👤2ps

Leave a comment