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

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

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

一、进入忘记密码页面

1、模板配置

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

以css文件为例
6-11-12 django在线教育平台----忘记密码

2、配置模板的url

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

3、编写views.py,新建ForgetPwdView

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

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

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

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

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

页面的验证码没有显示

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

显示验证码

编写forms.py

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

将数据传给模板

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

前端接收数据

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

二、发送邮件

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

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

编写post逻辑

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

完善email_send.py

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

错误信息显示,数据回填

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

2、测试以上逻辑

用之前注册过的用户测试

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

打断点调试

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

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

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

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

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

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

配置url

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

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

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

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

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

测试

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

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

查看重置密码页面源码

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

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

forms.py验证表单数据

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

模板配置

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

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

active_code参数传不进来

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

url配置

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

重置密码逻辑ModifyPwdView

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

相关文章:

  • 2021-04-23
  • 2021-12-19
  • 2021-12-19
  • 2021-11-19
  • 2021-11-19
  • 2021-07-24
  • 2022-12-23
猜你喜欢
  • 2022-01-18
  • 2021-12-29
  • 2021-12-19
  • 2021-12-19
  • 2021-12-19
  • 2021-12-19
  • 2021-04-01
相关资源
相似解决方案