美文网首页
Flask参数配置

Flask参数配置

作者: Alex_Dj | 来源:发表于2018-05-03 10:51 被阅读0次

    在Flask中的参数配置保存在Flask对象的config属性中。

    config实际上继承于字典,可以像修改字典一样修改它:

    app = Flask(__name__)
    app.config['TESTING'] = TRUE
    

    相应的配置会直接推送到Flask对象上,所以你可以直接在Flask对象上读写:

    app.testing = True
    

    可以使用dict.update()方法来批量更新键值对:

    app.config.update(
        TESTING=True,
        SECRETE_KEY=b'^*&BKJH^*'
    )
    

    主要有三种参数配置方法:


    1. 基本配置方法

    即通常的 ‘字典式’ 配置方法,如我们要配置SQLAlchemy中的数据库连接URL:

    app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://test:test@localhost/test'
    

    2. 从文件读取

    相对于1中的配置方法,一个更为优雅解决方法是从单独的文件中读取配置。

    app = Flask(__name__)
    app.config.from_object('yourapplication.default_settings')
    app.config.from_envvar('YOURAPPLICATION_SETTINGS')
    

    其中 app.config.from_envvar('YOURAPPLICATION_SETTINGS') 的用法和 app.config.from_pyfile(os.environ['YOURAPPLICATION_SETTINGS']) ,但是app.config.from_envvar的error message更为友好。


    3. 从环境变量读取

    对于某些敏感信息(如加密密钥)并不适合放在程序包中。在Linux中,我们可以这样在环境变量中设置:

    $ export SECRET_KEY='5f352379324c22463451387a0aec5d2f'
    $ export DEBUG=False
    

    有一点需要注意的是,环境变量中设置的值都是字符串--并不会直接解析为python中的类型.
    下面是一个使用环境变量的例子:

    # Example configuration
    import os
    
    ENVIRONMENT_DEBUG = os.environ.get("DEBUG", default=False)
    if ENVIRONMENT_DEBUG.lower() in ("f", "false"):
        ENVIRONMENT_DEBUG = False
    
    DEBUG = ENVIRONMENT_DEBUG
    SECRET_KEY = os.environ.get("SECRET_KEY", default=None)
    if not SECRET_KEY:
        raise ValueError("No secret key set for Flask application")
    

    相关文章

      网友评论

          本文标题:Flask参数配置

          本文链接:https://www.haomeiwen.com/subject/madkrftx.html