任务 完善登录模块,提供找回密码的途径。 具体逻辑为: 输入用户名和注册邮箱 数据库比对一致后,随机生成验证码 利用Django的邮件发送模块发送验证码 验证码通过后,能够重置密码 用户名和注册邮箱 关键在于利用标签id筛选到输入内容,并且需要加入{% csrf_token %}生成密钥,传入ajax作为参数,否则会出现403无法响应。 访问网址:https://paas-class.bktencent.com/t/demoli/mechat/find_pwd/ 前端发送输入用户名与邮箱 得到输入框中内容 如用户名部分为: 选择器为: 按钮事件触发 需要实现通过点击按钮发送验证码向填写的邮箱地址发送邮件,对按钮部分添加get_verify属性,一直监听按钮按下,并引入倒计时: 当按钮按下,且按钮文字为获取验证码时,此时点击按钮则会触发js中的submit_verify()函数 同步检验输入有效性 为了得到Ajax请求验证有效性函数的返回值,需要通过同步ajax实现,声明async: false, 利用POST请求将用户名与邮件地址传送至后端进行处理,其中的请求路径url利用相对路径格式书写,便于之后上传服务器。 后端检验用户名和邮箱有效性 在url.py中新增路由映射关系 在views.py中新增处理模块submit_verify() 取出POST中数据:username=request.POST.get(‘username’) 查询表baseUser一对一的表User中是否存在输入的用户名:usernameF = baseUser.objects.filter(user__username=username) 验证通过 发送邮件,开始倒计时,传入后端进行验证码生成与邮件的发送,并显示输入验证码框 异步发送验证邮件 但发送邮件是消耗时间的活动,因此一定要用异步Ajax实现,验证通过时调用函数send_verify() 随机生成验证码 后端发送验证邮件 在url.py中新增路由映射关系 在views.py中新增处理模块send_verify() 生成验证码 generateVcode(request) 前端处理返回数据res 完善send_verify()异步请求 在输入框下面加上span成员,如下 将错误信息打印到相应位置 清除错误信息 利用Django的邮件发送模块发送验证码 首先参考博文Django——发送邮件的步骤通过QQ邮箱完成测试,下面介绍类比如何通过学校邮箱进行发送: 首先在网页中搜索关键词华科邮箱+SMTP,找到相关说明 二、客户端设置 使用Outlook、Foxmail等桌面邮件客户端软件或手机邮件客户端软件设置学校电子邮箱时按如下配置信息设置: SMTP服务器:mail.hust.edu.cn POP3服务器:mail.hust.edu.cn IMAP服务器:mail.hust.edu.cn 在settings.py文件中加入设定: 同样需要配置路由映射到函数send_mail():… Continue reading Django-发送邮件找回密码
Tag: django
Django-登录
计划完成一款帮助学习计划管理的小程序,实现其中的登录功能
难点:由于采用蓝鲸的开发平台,其中的登录模块已经经过设定,需要进行重建。