请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于在表单里验证code是否正确,比较code值为什么是redis_code =r.get(str(mobile)) 而不是r.get(str(code))

	mobile = self.data.get("mobile")
    code = self.data.get("code")

r = redis.Redis(host=REDIS_HOST, port=REDIS_PORT, db=0, charset="utf8", decode_responses=True)
    redis_code = r.get(str(mobile))
    # 然后比较两个code值
    if code != redis_code:
        raise forms.ValidationError("验证码不正确")
    # 如果正确直接返回
    return code

正在回答 回答被采纳积分+3

1回答

bobby 2019-12-04 10:22:03

你保存在redis中的时候key是mobile啊。你通过code查询有什么用? 如果这个验证码给其他人也发过,岂不是随便来一个人就通过验证了?

0 回复 有任何疑惑可以回复我~
  • 提问者 努力学习向上 #1
    老师,这个意思是不是 取redis里面的mobile,然后比较code 和这个mobile的value啊
    回复 有任何疑惑可以回复我~ 2019-12-04 11:14:37
  • bobby 回复 提问者 努力学习向上 #2
    是的 应该先查询一下这个手机号码发送的code是多少 然后和传递过来的比对一下
    回复 有任何疑惑可以回复我~ 2019-12-06 16:49:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信