Когда нажмете изменить пароль, это пустая страница, но пароль был изменен

Я создаю страницу входа. Моя проблема с "забытым паролем". Пользователь вводит почту и django отправляет сообщение со ссылкой. При нажатии на него необходимо сменить пароль. После завершения нажмите "Изменить пароль", мы должны перейти на следующую страницу, но она пуста. Но пароль был изменен.

счет / urls.py

from django.urls import path, reverse_lazy
from django.contrib.auth import views as auth_views
from . import views

app_name = 'account'

urlpatterns = [
    path('', auth_views.LoginView.as_view(template_name='account/login.html'), name='login'),
    path('logout/', auth_views.LogoutView.
         as_view(template_name='registration/logout.html'), name='logout'),
    path('logout_then_login/', auth_views.logout_then_login, name='logout_then_login'),
    path('dashboard/', views.dashboard, name='dashboard'),
    path('password_change/', auth_views.PasswordChangeView.
         as_view(success_url=reverse_lazy('account:password_change_done')), name='password_change'),
    path('password_change_done/', auth_views.PasswordChangeDoneView.
         as_view(template_name='registration/password_change_done.html'),
         name='password_change_done'),
    path('password_reset/', auth_views.PasswordResetView.
         as_view(template_name='registration/password_reset_form.html',
                 html_email_template_name='registration/password_reset_mail.html'),
         name='password_reset'),
    path('password_reset/done', auth_views.PasswordResetDoneView.
         as_view(template_name='registration/password_reset_done.html'),
         name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.
         as_view(template_name='registration/password_reset_confirm.html'),
         name='password_reset_confirm'),
    path('reset/done', auth_views.PasswordResetCompleteView.
         as_view(template_name='registration/password_reset_complete.html'),
         name='password_reset_complete')
]

password_reset_complete.html

{% extends "base.html" %}

{% block title %}
    <p>Password was changed</p>
{% endblock %}

settings.py

LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
SUCCESS_URL = reverse_lazy('account:password_change_done')

и это правильно:

urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('account.urls')),
    path('', include('django.contrib.auth.urls')),
]

1 ответ

Я предполагаю, что base.html содержит блок контента Так что вы просто упускаете

{% block content %}{% endblock %}

часть password_reset_complete.html,

Другие вопросы по тегам