Flask实战第43天:把图片验证码和短信验证码保存到memcached中
前面我们已经获取到图片验证码和短信验证码,但是我们还没有把它们保存起来。同样的,我们和之前的邮箱验证码一样,保存到memcached中
编辑commom.vews.py
.. from utils import xcache @bp.route('/graph_captcha/') def graph_captcha(): text, image = Captcha.gene_graph_captcha() out = BytesIO() image.save(out, 'png') out.seek(0) resp = make_response(out.read()) resp.content_type = 'image/png' xcache.set(text.lower(), text.lower()) #图片验证码这里,不好设置一个唯一key,索性直接也用验证码的值作为key #都存入小写,到时候都通过小写对比,这样用户就不用区分大小写了 return resp @bp.route('/sms_captcha/', methods=['POST']) def sms_captcha(): sms_captcha_form = SmsCaptchaForm(request.form) if sms_captcha_form.validate(): telephone = sms_captcha_form.telephone.data #生成随机的验证,之前图片那里有方法实现了,我们直接调用就行,生成6位的验证码 radom_code = Captcha.gene_text(6) params = {'code': radom_code} if send_sms(telephone, json.dumps(params)): xcache.set(telephone, radom_code) #把手机号码作为key return xjson.json_success('短信发送成功') else: return xjson.json_server_error('短信发送失败') else: return xjson.json_param_error('参数错误')
每天进步一点,加油!