配置处理

来源:互联网 发布:dota2个人数据查询 编辑:程序博客网 时间:2024/05/16 06:20
配置处理在开发过程中,可能会需要根据应用环境的不同,设置不同的配置跟你如何载入配置无关,会有一个可用的配置对象保存着载入的配置值:Flask对象的config属性。这是Flask自己放置特定配置值的地方,也是扩展可以存储配置值的地方。但是,你也可以把自己的配置保存到这个对象里配置基础config实际上继承于字典,并且可以像修改字典一样修改它app = Flask(__name__)app.config['DEBUG'] = True给定的配置值会被推送到Flask对象中,所以可以在那里读写它们:app.debug=True同时也可以使用Python字典的update()方法来一次性更新多个键app.config.update(DEBUG=TrueSECRET_KEY=...)#tip:字典的update不仅可以将参数里的数值填充到第一个字典里#同时第一个字典里有的值,也会被参数里的值替换文档中有相关的配置参数在独立的文件中存储配置,是一种比较方便的方式。一种常见我的模式如下app = Flask(__name__)app.config.from_object('yourapplication.default_settings')#从配置文件中加载配置app.config.from_envvar('YOURAPPLICATION_SETTINGS')#从环境变量中加载配置配置文件其实是Python文件。只有大写名称的值才会被存储到配置对象中确保尽早的载入配置,这样扩展才能在启动时访问配置开发/生产大多数配置不止需要一份配置。生产服务器和开发期间使用的服务器应该各有一份单独的配置。处理这个的情况的最简单方法是,使用一份默认的总会被载入的配置,和一部分版本控制,以及独立的配置来像以下示例中那样覆盖原来的值app = Flask(__name__)app.config.from_object('yourapplication.default_settings')app.config.from_envvar('YOURAPPLICATION_SETTINGS')然后只需要添加一个独立的config.py文件,然后set YOURAPPLICATION_SETTINGS = /path/to/config.py.不过也可以使用导入或者继承办法class Config(object):DEBUG = FalseTESTING = FalseDATABASE_URI = 'sqlite://xxxx'class ProductionConfig(Config):DATABASE_URI = 'mysql://xxx'class DevelopmentConfig(Config):DEBUG = True启用以上的配置需要调用from_oject()app.config.from_onject('configmodule.ProductionConfig')示例文件夹?


原创粉丝点击