首页 > 其他 > 详细

flask 项目部分业务逻辑

时间:2019-05-20 01:38:59      阅读:232      评论:0      收藏:0      [点我收藏+]
@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 项目部分业务逻辑

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!