flask app.config

配置方法:

 

(1) 直接在文件中 写 app.config['xxx'] = 'xxx'

app.config['DEBUG'] = True

PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...)


    注意:
        某个对象 可以进行 a['aa'] = 111的操作的时候,
            说明   (1) 重写了 __setitem__ 方法
                      (2) 继承了 dict

 

(2) 通过 config对象 的 from_pyfile方法:

    .. 新建一个 settings.py 的文件(统一管理)   :  里面直接 配置 XXX = 1111
    .. app.config.from_pyfile('settings.py')

(3)通过config对象的 from_json方法:

    app.config.from_json("json文件名称")

    JSON文件名称,必须是json格式,因为内部会执行json.loads

(4) 通过 config 对象的 from_environ 方法 (与上一个类似)

    import os
    os.environ('xxxx') = 'settings.py'

    app.config.from_environ('xxxx')

(5) 通过 config 对象的 from_object 方法 (导入文件中的一个类,不同的环境用不同的配置文件)

    推荐使用

    app.config.from_object('settings.DevConfig')  # 开发的配置
    app.config.from_object('settings.TestConfig') # 测试的配置
    app.config.from_object('settings.ProConfig')  # 正式的配置

        settings.py :

            class BaseConfig(object):
                xxx = 111   # 公用的配置

            class TestConfig(BaseConfig):
                DB = '127.0.0.1'
            class DevConfig(BaseConfig):
                 DB = 'xx.x.0x.1'
            class ProConfig(BaseConfig):
                 DB = 'xx.0x.0.1'

使用,获取 配置的时候:

           from flask import current_app  # 可以获取当前的 app

           c = current_app.config.get('xxx')

posted on 2020-04-13 18:39  不要挡着我晒太阳  阅读(1183)  评论(0编辑  收藏  举报

导航