python - 当单击更改密码是空白页但密码已更改 django
问题描述
我创建登录页面。我的问题是“忘记密码”。用户输入邮件,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 %}
设置.py
LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
SUCCESS_URL = reverse_lazy('account:password_change_done')
它是否正确:
网址.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('account.urls')),
path('', include('django.contrib.auth.urls')),
]
解决方案
我假设base.html
包含一个内容块。所以你只是错过了
{% block content %}{% endblock %}
的一部分password_reset_complete.html
。
推荐阅读
- ajax - 点击视频时计算观看次数
- autoit - 为什么 AutoIt 不执行点击?
- javascript - 如何操作位于状态中的数据并显示到页面?
- php-internals - php-src 文件中 `/* $Id$ */` 的功能是什么
- android - 使用 AsyncStorage 时,本机反应每 10 毫秒重新渲染一次视图
- amazon-web-services - 如何在 Amazon Linux2 上安装 docker
- javascript - JavaScript。做出反应。还原。异步。在渲染 DOM 之前循环未完成
- ios - 导航呈现给另一个导航,如何回到根导航
- 3d - R中的平滑3D三角形网格
- python - 当我通过 Python 打印文件时,文件看起来不同