Django 更改密码
我们将学习如何创建一个网页供用户在登录 Django 网页后更改密码。
例如,我们在 Django 中有一个项目,我们将在这个项目中工作,我们有用户的应用程序。在这个应用程序中,我们找到了 views.py 文件,我们需要导入两个必要的视图。
其中之一称为 PasswordChangeView,它允许我们更改密码,PasswordResetDoneView 将确认密码已被重置。
现在我们需要定义一个名为 MyPasswordChangeView 的类,它将继承自 PasswordChangeView;在这个类中,我们声明了 template_name 变量并将模板 URL 存储在用户将更改密码的位置。
在 success_url 变量中,我们需要放置 reverse_lazy() 变量。在代码下面,我们需要创建另一个名为 MyPasswordResetDoneView 的类,并从 PasswordResetDoneView 继承它。
我们只在这个类中声明了 template_name 变量,并将模板的路径存储到这个 template_name 变量中;然后,我们需要保存它并在 urls.py 文件中注册这些视图。
views.py 文件:
from django.shortcuts import render
from django.urls import reverse_lazy
from django.contrib.auth.views import PasswordChangeView,PasswordResetDoneView
class MyPasswordChangeView(PasswordChangeView):
template_name='users/password-change.html'
success_url=reverse_lazy('users:password-change-done-view')
class MyPasswordResetDoneView(PasswordResetDoneView):
template_name='users/password-reset-done.html'
我们将在用户的应用程序中创建一个 urls.py 文件,然后将我们的视图导入我们创建的文件中。
然后我们需要创建一个名为 app_name 的变量,它等于 users,这是我们的应用程序名称。在该行下方,我们将创建一个 urlpatterns 列表,我们将在其中将视图与 URL 集成。

我们将创建模板,但在移动任何地方之前,我们需要在 urls.py 文件中包含主项目的 urlpatterns 的用户路径。让我们在 movies 下面为用户创建一个新路径,namespace 应该与应用程序匹配;写完代码,保存。

现在我们可以回到用户的应用程序,在这里,让我们创建一个 templates 文件夹;在 templates 中,我们将创建另一个名为 users 的文件夹。在 users 文件夹中,我们需要创建两个我们在 views.py 文件中定义的 HTML 文件。
我们将开始处理 password-change.html 文件,首先,从 base.html 继承,然后,我们设置 block title 和 block content 这将由表单。让我们把 form action 留空,方法等于 POST,这意味着我们正在处理 POST 请求。
我们需要将 csrf_token 放入表单中,这将允许发送请求。我们将创建一个按钮并将此类型保持为 submit,通过添加一个类使其成为绿色按钮。

我们将处理 password-reset-done.html,在这里,我们再次需要从 base.html 文件继承;在此之后,方法将相同,但语法会有所不同。
然后我们将编写一个 href 属性并提供主视图的路径名称,因此用户将通过按下此按钮来进行操作。

最后一件事是转到 home.html 创建一个按钮来访问用户将更改密码的页面。

服务器正在运行,我们通过首页去修改密码,可以看到登录后用户可以修改密码了。

相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串

