zoukankan      html  css  js  c++  java
  • flask 项目部分业务逻辑

    @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
  • 相关阅读:
    js的alert乱码问题
    (6)select语句
    (5)视图
    (4)索引
    (3)操作数据库
    (2)MySQL数据类型
    (1)MySQL概述
    RocketMQ安装使用
    uniapp打包h5
    面试必问 如何保证缓存与数据库的一致性
  • 原文地址:https://www.cnblogs.com/ls1997/p/10891669.html
Copyright © 2011-2022 走看看