要实现上述功能,你需要修改模板文件以添加“忘记密码”链接,并创建新的视图函数来处理密码丢失修改页面、验证和密码修改。下面是你可以进行的步骤:

1. 修改模板文件

在登录页面的表单下方添加一个“忘记密码”链接:

<div class="form-group text-center">
<button type="submit" class="btn btn-primary btn-block">登录</button>
<a href="{% url 'register' %}" class="btn btn-link">注册</a>
<a href="{% url 'forgot_password' %}" class="btn btn-link">忘记密码</a> {# 添加忘记密码链接 #}
</div>

2. 创建相应的视图和 URL

在你的应用中创建相应的视图函数来处理忘记密码功能。

# views.py

from django.contrib.auth.forms import PasswordResetForm
from django.shortcuts import render, redirect
from django.urls import reverse
from django.contrib import messages def forgot_password(request):
if request.method == 'POST':
form = PasswordResetForm(request.POST)
if form.is_valid():
form.save(request=request)
messages.success(request, '密码重置邮件已发送到您的邮箱,请检查您的邮箱并按照邮件指示重置密码。')
return redirect(reverse('login'))
else:
form = PasswordResetForm()
return render(request, 'forgot_password.html', {'form': form})

然后,创建一个模板文件 forgot_password.html,用于显示密码重置表单。

3. 配置 URL

在你的应用的 URL 配置中添加一个用于忘记密码的 URL,并将其指向新的视图函数。

# urls.py

from django.urls import path
from .views import forgot_password urlpatterns = [
# 其他 URL 配置...
path('forgot_password/', forgot_password, name='forgot_password'),
]

4. 配置邮件设置

在 Django 项目的设置中配置邮件设置,以便 Django 能够发送密码重置邮件到用户的注册邮箱。你需要配置邮件服务器等相关信息。

5. 创建密码重置确认页面

当用户点击重置密码邮件中的链接时,他们将被导向到一个确认页面,用于输入新密码。你需要创建这个页面以及相应的视图函数来处理密码重置确认。

实现以上步骤后,你的用户将能够通过点击“忘记密码”链接来请求密码重置邮件。他们将会收到一封包含重置密码链接的邮件,通过该链接可以跳转到确认页面,完成密码重置过程。

Django 自定义创建密码重置确认页面的更多相关文章

  1. Django实现用户密码重置

    使用Django内置的认证视图实现简单的通过邮箱重置密码的功能版本:django 1.11 在django.contrib.auth.views中提供了四个类视图用于密码重置 class Passwo ...

  2. django之创建第11个项目-页面整合

    目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...

  3. django用户认证系统——重置密码7

    当用户不小心忘记了密码时,网站需要提供让用户找回账户密码的功能.在示例项目中,我们将发送一封含有重置用户密码链接的邮件到用户注册时的邮箱,用户点击收到的链接就可以重置他的密码,下面是具体做法. 发送邮 ...

  4. django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面

    1.为test.DB数据库预先创建下面数据 1    张三    16    2015-01-02    12    李四    17    2015-01-04    13    王五    14  ...

  5. django之创建第6-1个项目-自定义过滤器

    1.在站点blog目录下创建templatetags文件夹 2.templatetags目录下需要作为一个包来处理和调用其中的内容,需要有一个__init__.py文件 3.在templatetags ...

  6. django 自定义认证

    在Django中自定义身份验证 Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成的认证系统.定制自己的项目的权限系统需要了解哪些一些关键点,即Django中哪些部分是能够扩展或替 ...

  7. Django自定义用户认证系统之自定义用户模型

    参考文档:http://python.usyiyi.cn/django/topics/auth/customizing.html Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成 ...

  8. Laravel实现找回密码及密码重置的例子

    https://mp.weixin.qq.com/s/PO5f5OJPt5FzUZr-7Xz8-g Laravel实现找回密码及密码重置功能在php实现与在这里实现会有什么区别呢,下面我们来看看Lar ...

  9. django自定义Admin actions

    通常情况下,admin的工作模式是“选中目标,然后修改目标”,但在同时修改大量目标的时候,这种模式就变得重复.繁琐. 为此,admin提供了自定义功能函数actions的手段,可以批量对数据进行修改. ...

  10. git学习------>在CenterOS系统上安装GitLab并自定义域名访问GitLab管理页面

    目前就职的公司一直使用SVN作为版本管理,现在打算尝试从SVN迁移到Git.安排我来预言并搭建好相关的环境以及自己尝试使用Git.今天我就尝试在Center OS系统上安装GitLab,现在在此记录一 ...

随机推荐

  1. nginx 常见配置案例参考(优化)

    在NGINX中,可以通过配置文件和特定的指令来实现权限控制.以下是一些常见的权限控制方法: 使用deny指令: 在NGINX配置文件中,可以使用deny指令来拒绝特定IP地址或IP地址范围的访问.可以 ...

  2. text/event-stream协议

    客户端接收 text/event-stream html <!DOCTYPE html> <html> <head> <meta charset=" ...

  3. C# dynamic动态对象赋值

    dynamic 如果接收的是匿名对象,是无法为属性赋值的,而如果是接收的定义对象,又无法扩展字段. 解决办法序列化为json字符串,然后用Dictionary反序列化,就能赋值了.也能扩展新的字段. ...

  4. 【Effective C++】设计与声明——考虑写出一个不抛异常的swap函数

    wap是个有趣的函数.原本它只是STL的一部分,而后成为异常安全性编程的脊柱,以及用来实现自我赋值可能性的一个常见机制.所谓swap两对象值,就是将两对象的值交换. 典型实现 缺省情况下的swap动作 ...

  5. itest(爱测试) 4.5.5 发布,开源BUG 跟踪管理 & 敏捷测试管理&极简项目管理软件

    itest 简介 itest 开源敏捷测试管理,testOps 践行者,极简的任务管理,测试管理,缺陷管理,测试环境管理4合1,又有丰富的统计分析.可按测试包分配测试用例执行,也可建测试迭代(含任务, ...

  6. umask永久修改用户创建文件权限

    Linux里永久设置用户创建文件权限的配置文件是/etc/profile.可以在该文件中添加umask命令来设置默认权限.具体操作步骤如下: 打开/etc/profile文件:sudo vi /etc ...

  7. ES6 ES6变量的声明

      // ES6语法         // 是对js影响最大的一个版本更新         // 在 ES6 语法中 退出了很多新的 语法结构         // 就相当于 js 语言, 换了一个新 ...

  8. tab切换之循环遍历

     <style>         *{             margin: 0;             padding:0;         }         ul,ol,li{ ...

  9. 剑指Offer-53.表示数值的字符串(C++/Java)

    题目: 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.14 ...

  10. 【已结束】阿珏Blog三周年特别纪念活动

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` [已结束]阿珏Blog三周年特别纪念活动 日期:2019- ...