码迷,mamicode.com
首页 > 其他好文 > 详细

flask 项目部分业务逻辑

时间:2019-05-20 01:29:32      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:captcha   逻辑   error   eid   color   exception   get   业务逻辑   style   

@passport_blu.route(/image_code)
def get_image_code():
    """
    生成图片验证码并返回
    1. 取到参数
    2. 判断参数是否有值
    3. 生成图片验证码
    4. 保存图片验证码文字内容到redis
    5. 返回验证码图片
    :return:
    """

    # 1. 取到参数
    # args: 取到url中 ? 后面的参数
    image_code_id = request.args.get("imageCodeId", None)
    # 2. 判断参数是否有值
    if not image_code_id:
        return abort(403)

    # 3. 生成图片验证码,包为下载的工具类
    name, text, image = captcha.generate_captcha()
    current_app.logger.debug("图片验证码内容是:%s" % text)
    # 4. 保存图片验证码文字内容到redis,redis_store为全局创建好的StrictRedis
    try:
        redis_store.set("ImageCodeId_" + image_code_id, text, constants.IMAGE_CODE_REDIS_EXPIRES)
    except Exception as e:
        current_app.logger.error(e)
        abort(500)

    # 5. 返回验证码图片
    response = make_response(image)
    # 设置数据的类型,以便浏览器更加智能识别其是什么类型
    response.headers["Content-Type"] = "image/jpg"
    return response

 

flask 项目部分业务逻辑

标签:captcha   逻辑   error   eid   color   exception   get   业务逻辑   style   

原文地址:https://www.cnblogs.com/ls1997/p/10891669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!