python 前后端不分离 忘记密码
第一步 先render find_password.html
# 1.接收参数 image_code uuid
# 2.校验用户名 和 图形验证码
user = User.objects.get(username=username)
取出redis的uuid拿到的redis_img_code比对 if image_code.lower() != redis_img_code.decode().lower():
# 生成随机64位码字符串 存入redis 为下次发短信提交做准备
# 生成 随机码
#设置有效期
#加密
#返回响应
第二步 发送短信
新接口获取短信验证码(以前的注册页面的发短信不能使用)
# 1.接收access_token 解密 校验是否准确
# 解密前端 传入的
# 获取后台存储的 连接verify_image_code 根据手机从redis取出redis_random_token 然后对对比
# * 3.生成随机 6位 短信验证码内容 random.randit()
# * 4.存储 随机6位 redis里面(3步 ) #连接取出sms_code
# 1.获取 频繁发送短信的 标识
# 2.判断标识 是否存在
# 3.标识不存在 ,重新倒计时 (管道)
#4.使用异步celery 发短信---第三方容联云或者阿里云
#5返回响应对象
第二个 下一步 提交
#拿到sms_code = request.GET.get('sms_code')
# 1.校验手机号
# 2.校验验证码 (3步)
# 3.返回正确的响应 #1redis拿到verify_image_code,2通过mobile拿到redis_random_token 3加密 解码access_token = SecretOauth().dumps(redis_random_token.decode())
第三步 提交
获取参数 json_dict password password2 access_token
#判空
# 解密前端 传入的
#判断密码
# * 3.确认密码: ---------判空,判断是否相等
#4.三步判断
# 5.更新密码
user.set_password(password) user.save()
# 6.返回响应 密码设置成功 跳回登录页面重新登录