6-11-12 django在线教育平台----忘记密码

忘记密码功能成功修改过程如下:

在登录页面点击忘记密码按钮,进入忘记密码页面,填写账户和密码,提交表单,后台实现发送邮件到邮箱,页面跳转发送邮件成功的页面

点击邮箱的重置密码链接,跳转到重置密码页面,填写新密码和确定密码,点击提交,密码修改成功,还是跳转到登录页面

一、进入忘记密码页面

1、模板配置

新建forgetpwd.html,配置css,js,images等文件

以css文件为例
这里写图片描述

2、配置模板的url

这里写图片描述

3、编写views.py,新建ForgetPwdView

这里写图片描述

4、配置login.html页面中的忘记密码按钮的链接

这里写图片描述

5、测试以上是否配置正确

进入登录页面,点击忘记密码按钮,跳转到忘记密码页面,页面显示完整,则测试成功

页面的验证码没有显示

这里写图片描述

显示验证码

编写forms.py

这里写图片描述

将数据传给模板

这里写图片描述

前端接收数据

这里写图片描述

二、发送邮件

忘记密码页面也是一个表单,在forms.py进行表单数据验证,在views.py中写提交的逻辑并发送邮件到邮箱,还需要配置url和模板

1、编写post方法,发送重置链接到邮箱,发送成功后跳转到发送成功的页面send_success.html

编写post逻辑

这里写图片描述

完善email_send.py

这里写图片描述

错误信息显示,数据回填

这里写图片描述

2、测试以上逻辑

用之前注册过的用户测试

这里写图片描述

打断点调试

这里写图片描述

测试成功,收到邮件,页面跳转到发送成功的页面

这里写图片描述

这里写图片描述

三、点击重置密码链接后,编写重置密码功能

1、点击重置密码链接,编写点击的逻辑get()

配置url

这里写图片描述

新建重置密码页面password_reset.html,在模板中添加input,要将修改哪个用户告诉后台,因为用户是在未登陆的状态下修改密码的

这里写图片描述

点击链接进入密码重置页面,编写逻辑

这里写图片描述

测试

这里写图片描述

这里写图片描述

查看重置密码页面源码

这里写图片描述

2、进入重置密码页面后就是写重置密码的逻辑,还是一个表单

forms.py验证表单数据

这里写图片描述

模板配置

这里写图片描述

配置提交后的url,这里无法重用reset的链接,因为post时active_code参数传递不了,所以另写一个
ModifyPwdView,实现表单提交逻辑

active_code参数传不进来

这里写图片描述

url配置

这里写图片描述

重置密码逻辑ModifyPwdView

这里写图片描述

猜你喜欢

转载自blog.csdn.net/f1ngf1ngy1ng/article/details/81028745