flask配置文件
fask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为:
default_config = ImmutableDict({'DEBUG': get_debug_flag(default=False),'TESTING': False,'PROPAGATE_EXCEPTIONS': None,'PRESERVE_CONTEXT_ON_EXCEPTION': None,'SECRET_KEY': None,'PERMANENT_SESSION_LIFETIME': timedelta(days=31),'USE_X_SENDFILE': False,'LOGGER_NAME': None,'LOGGER_HANDLER_POLICY': 'always','SERVER_NAME': None,'APPLICATION_ROOT': None,'SESSION_COOKIE_NAME': 'session','SESSION_COOKIE_DOMAIN': None,'SESSION_COOKIE_PATH': None,'SESSION_COOKIE_HTTPONLY': True,'SESSION_COOKIE_SECURE': False,'SESSION_REFRESH_EACH_REQUEST': True,'MAX_CONTENT_LENGTH': None,'SEND_FILE_MAX_AGE_DEFAULT': timedelta(hours=12),'TRAP_BAD_REQUEST_ERRORS': False,'TRAP_HTTP_EXCEPTIONS': False,'EXPLAIN_TEMPLATE_LOADING': False,'PREFERRED_URL_SCHEME': 'http','JSON_AS_ASCII': True,'JSON_SORT_KEYS': True,'JSONIFY_PRETTYPRINT_REGULAR': True,'JSONIFY_MIMETYPE': 'application/json','TEMPLATES_AUTO_RELOAD': None,})
配置文件的实现方式:
方式一:属性
app.secret_key = ['1111111']app.debug = True# PS: 由于Config对象本质上是字典,所以还可以使用app.config.update(...)app.config.update(DEBUG=True)app.config['SECRET_KEY'] = '11111'
方式二:文件
# app.pyapp.config.from_pyfile('settings.py')# settings.pySECRET_KEY = '2222'
方式三:环境变量+文件
# app.pyimport osos.environ['xxx'] = 'settings.py'app.config.from_envvar('xxx')# settings.pySECRET_KEY = '2222'
方式四:json文件
# app.pyapp.config.from_json("settings.py")# settings.py(必须是json格式,因为内部会执行json.loads){"SECRET_KEY":"21212"}
方式五:字典格式
app.config.from_mapping({'SECRET_KEY':21121})
方式六:配置类(推荐)
# app.py# 使用时只需要修改配置类import settingsapp.config.from_object(settings.BaseConfig)# settings.pyclass BaseConfig(object):# 基础配置NNN = 1AAA = 0class TestConfig(BaseConfig):# 测试环境配置AAA = 111class DevConfig(BaseConfig):# 开发环境配置AAA = 222class ProConfig(BaseConfig):# 线上环境配置AAA = 333
作者:马小跳_
链接:https://www.jianshu.com/p/6b9a77f1c0cf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
