Изменяем password views
Мы также нуждаемся в том, чтобы пользователи могли менять свой пароль после входа на наш сайт. Откройте файл urls.py приложения account и добавьте к нему следующие шаблоны URL-адресов:
# change password urls
url(r'^password-change/$', 'django.contrib.auth.views.password_change', name='password_change'),
url(r'^password-change/done/$', 'django.contrib.auth.views.password_change_done', name='password_change_done'),
Представление password_change будет обрабатывать форму, чтобы изменить пароль, а password_change_done будет отображать сообщение об успешной смене пароля. Создадим шаблон для каждого представления.
Добавьте новый файл в директорию templates/registration/ приложения account и назовите его password_change_form.html:
{% extends "base.html" %}
{% block title %}Change you password{% endblock %}
{% block content %}
<h1>Change you password</h1>
<p>Use the form below to change your password.</p>
<form action="." method="post">
{{ form.as_p }}
<p><input type="submit" value="Change"></p>
{% csrf_token %}
</form>
{% endblock %}
Этот шаблон включает в себя форму для изменения пароля. Теперь создайте другой файл в том же каталоге и назовите его password_change_done.html. Добавьте в него следующий код:
{% extends "base.html" %}
{% block title %}Password changed{% endblock %}
{% block content %}
<h1>Password changed</h1>
<p>Your password has been successfully changed.</p>
{% endblock %}
В этом шаблоне отображается сообщение об успешной смене пароля.
Откройте в своем браузере страницу http://127.0.0.1:8000/account/password-change/ . Если вы не авторизованы в системе вы увидите страницу входа. После успешной авторизации вы увидите страницу смены пароля:
Заполните все поля формы и нажмите на кнопку Change. Вы увидите сообщение об успешной смене пароля:
Выйдите из системы, а затем войдите используя новый пароль чтобы убедиться в правильной работе нашего приложения.