• Flask_安装和配置(一)


    安装Flask

    pip install flask

    一 .创建Flask项目

    Flask与Django相比,没有提供任何自动创建项目的操作,所以需要手动创建项目及启动项目的管理文件

    例如,创建项目目录demo,在目录中创建hello.py并启动该项目。

    from flask import Flask
    
    # 创建flask的应用对象
    app = Flask(__name__,
                static_url_path="/python",
                static_folder="static2",
                template_folder="demo",
                )
    
    # 定义路由
    @app.route("/")
    # 定义视图
    def index():
        return "hello flask"
    
    
    if __name__ == '__main__':
        # 启动项目
        app.run()

    访问视图函数

    初始化参数说明

    • import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
    • static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
    • static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
    • template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。

    访问静态资源

    二、配置参数

    2.1 启动配置参数

    if __name__ == '__main__':
        # 启动项目
        app.run(host="192.168.3.110", port=9898, debug=True)

    参数说明:

    • host:启动绑定的IP
    • port:启动绑定的端口
    • debug:是否开启debug模式,默认不开启。

     2.2 配置参数的使用方式&自定义配置参数&读取配置参数

    1、读取配置文件使用配置参数

    app.config.from_pyfile("config.cfg")

    2、直接操作config的字典对象使用配置参数

    app.config["DEBUG"] = True
    app.config["LANGUAGE"] = "Java"

    3、定义Config类对象使用配置参数

    class Config(object):
        DEBUG = True
        # 自定义配置信息。自定义的配置信息需大写,否则配置无效。
        LANGUAGE = "python"
    
    app.config.from_object(Config)

    上面3种配置方式中的LANGUAGE 为自定义配置参数,自定义的配置参数必须大写,否则无效。

    不管是默认的还是自定义的配置参数均保存在 config 这个字典中,所以使用字典的取值方法均能读取配置参数。读取配置的方法有两种:

    • 从全局对象app的config字典中取值
    • 从current_app的config字典中取值
    from flask import Flask, current_app
    
    ...
    
    @app.route("/")
    def index():
        print(app.config)
        # 读取配置参数
        # 1、从全局对象app的config字典中取值
        # language = app.config.get("LANGUAGE")
        # 2、从current_app的config字典中取值
        language = current_app.config.get("LANGUAGE")
        return F"hello {language}"

    from flask import Flask, current_app
    
    # 创建flask的应用对象
    app = Flask(__name__,
                static_url_path="/python",
                static_folder="static2",
                template_folder="demo",
                )
    """
    import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
    static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
    static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
    template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。
    """
    
    # 配置参数的使用
    # 1、读取配置文件使用配置参数
    # app.config.from_pyfile("config.cfg")
    
    # 2、直接操作config的字典对象使用配置参数
    # app.config["DEBUG"] = True
    # app.config["LANGUAGE"] = "Java"
    
    # 3、定义Config类对象使用配置参数
    class Config(object):
        DEBUG = True
        # 自定义配置信息。自定义的配置信息需大写,否则配置无效。
        LANGUAGE = "python"
    
    app.config.from_object(Config)
    
    
    @app.route("/")
    def index():
        print(app.config)
        # 读取配置参数
        # 1、从全局对象app的config字典中取值
        # language = app.config.get("LANGUAGE")
        # 2、从current_app的config字典中取值
        language = current_app.config.get("LANGUAGE")
        return F"hello {language}"
    
    
    if __name__ == '__main__':
        # 启动项目
        # app.run(host="192.168.3.110", port=9898, debug=True)
        app.run()
  • 相关阅读:
    create_pascal_tf_record.py 生成的record一直为0字节
    移植别人的vcpkg包到自己的项目
    评价目标检测(object detection)模型的参数:IOU,AP,mAP
    python 当文件目录不存在时,如何自动创建
    Spring validator常用注解
    @Slf4j的使用
    spring @Validated 注解开发中使用group分组校验
    @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常==》记录
    idea 创建各种类型项目(pom,jar.web)
    Linux下RabbitMQ服务器搭建
  • 原文地址:https://www.cnblogs.com/testlearn/p/14087139.html
Copyright © 2020-2023  润新知