Flask配置文件的几种方法

Posted w1990end

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask配置文件的几种方法相关的知识,希望对你有一定的参考价值。

Flask配置文件的几种方法

一,属性方式

app.env='TESTING'
app.debug=True

根据app的属性进行环境配置
二,字典方式

app.config.from_mapping({'ENV':'development','DEBUG':True})

或者
通过字典的key来配置

app.config['ENV']='development'
app.config['DEBUG']=True

这里需要注意key必须全部大写
三,文件方式
settings.py文件内容如下:

ENV='development'
DEBUG=True

在项目中应用如下:

app.config.from_pyfile('settings.py')

四,json文件方式
这里需要注意,settings.json文件内容必须是json格式,而且key必须是大写,如下:

{
  "ENV" : "development",
  "DEBUG" : "True"
}

在项目中应用如下:

app.config.from_json('settings.json')

五,环境变量+文件方式
settings.py文件内容如下:

ENV='development'
DEBUG=True

在项目中应用如下:

import os
os.environ['环境变量名称']='settings.py'
app.config.from_envvar('环境变量名称')

六,配置类(推荐)
配置settings.py文件内容如下:

# 基础类配置
class BaseConfig(object):
    DEBUG=True
# 开发环境类的配置
class DevelopmentConfig(BaseConfig):
    ENV='development'
    DEBUG=True
# 测试环境类的配置
class TestingConfig(BaseConfig):
    ENV = 'TESTING'
    DEBUG=False
# 生产环境类的配置
class ProductionConfig(BaseConfig):
    ENV='production'
    DEBUG=False

在项目中应用,比如需要的是开发环境,如下:

from settings import DevelopmentConfig
app.config.from_object(DevelopmentConfig)

如果需要的是生产环境,可以做以下更改:

from settings import ProductionConfig
app.config.from_object(ProductionConfig)

这样的配置可以根据自己的需要进行灵活的更改。
默认配置参数

{
    'DEBUG':                                get_debug_flag(default=False),  是否开启Debug模式
    '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,
}

以上是关于Flask配置文件的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

flask配置文件的几种方法

利用 Flask 动态展示 Pyecharts 图表数据的几种方法

Laravel:如何在控制器的几种方法中重用代码片段

读取配置文件的几种方法

利用 Flask 动态展示 Pyecharts 图表数据的几种方法

Java读取配置文件的几种方法