Django 3.1.1 — успешная смена пароля, но страница успеха не отображается

#python #django #python-3.7

#python #django #python-3.7

Вопрос:

Я настраиваю URL-адреса и добавляю пользовательский шаблон (переопределение registration/password_change_done.html и registration/password_change_form.html 🙂 в моем проекте, но когда я успешно меняю пароль, URL-адрес изменился правильно (http://127.0.0.1:8000/accounts/password/change/done / url), но страница успеха не отображалась, на ней по-прежнему отображается форма смены пароля. Мой код, как показано ниже:

конфигурация urls.py:

 from django.conf.urls import url
from django.contrib.auth import views as auth_views

urlpatterns  = [
url('password/change/', 
        auth_views.PasswordChangeView.as_view(), 
        name='password_change'),
url('password/change/done/',
        auth_views.PasswordChangeDoneView.as_view(), 
        name='password_change_done'),
url('password/reset/', 
        auth_views.PasswordResetView.as_view(), 
        name='password_reset'),
url('password/reset/done/', 
        auth_views.PasswordResetDoneView.as_view(), 
        name='password_reset_done'),
url('password/reset/<uidb64>/<token>/', 
        auth_views.PasswordResetConfirmView.as_view(), 
        name='password_reset_confirm'),

url('password/reset/complete/', 
        auth_views.PasswordResetCompleteView.as_view(), 
        name='password_reset_complete'),
]
  

password_change_done.html:

 {% extends "base.html" %}
{% block content %}
<div class='row'>
    <div class="col-12 text-center py-5">
            <h1 class='my-5 py-5'>Password successfully changed!</h1>
      </div>
</div>
{% endblock %}
  

password_change_form.html:

 {% extends "base.html" %}
{% block content %}
<div class='row'>
    <div class='col-md-6 col-10  mx-auto'>
    <h1>Change your Password</h1>
        <form method='post' action=''>{% csrf_token %}
           {{ form.as_p }}
        <span style='margin-bottom: 12px;'></span>
        <button type="submit" class='btn btn-block btn-info'>Save</button>
        </form>
      </div>
</div>
{% endblock %}
  

Комментарии:

1. Покажите свой views.py

2. Я использую представление по умолчанию (django / contrib / auth /views / PasswordChangeDoneView)

3. Я думаю, что проблема с самим собой. Когда я изменил urlpatterns на path для новой версии django, проблема была решена. Спасибо за помощь!