第一步 先render find_password.htmlhtml
# 1.接收參數 image_code uuid前端
# 2.校驗用戶名 和 圖形驗證碼 redis
user = User.objects.get(username=username)json
取出redis的uuid拿到的redis_img_code比對 if image_code.lower() != redis_img_code.decode().lower():dom
# 生成隨機64位碼字符串 存入redis 爲下次發短信提交作準備異步
# 生成 隨機碼
ui
#設置有效期阿里雲
#加密加密
#返回響應3d
第二步 發送短信
# 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.返回響應 密碼設置成功 跳回登陸頁面從新登陸