Когда нажмете изменить пароль, это пустая страница, но пароль был изменен django - PullRequest
0 голосов
/ 14 декабря 2018

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

account / 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 Ответ

0 голосов
/ 14 декабря 2018

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

{% block content %}{% endblock %}

часть password_reset_complete.html.

...