配置文件
一. Flask配置文件
1. 查看配置文件信息
app = Flask(__name__)
# 查看配置信息
print(app.config)
2. 配置信息
# 配置信息
congig = {
'ENV': 'production',
# 修改代码会自动重启程序, >>> 'DEBUG': True,
'DEBUG': False,
# 测试模式
'TESTING': False,
'PROPAGATE_EXCEPTIONS': None,
'PRESERVE_CONTEXT_ON_EXCEPTION': None,
# 密钥
'SECRET_KEY': 'bijenfknekfnknsekfsesfesf',
# session 过期时间
'PERMANENT_SESSION_LIFETIME': datetime.timedelta(days=31),
'USE_X_SENDFILE': False,
'SERVER_NAME': None,
'APPLICATION_ROOT': '/',
# session的cookie保存在浏览器上的key
'SESSION_COOKIE_NAME': 'session',
# session的cookie保存的域名
'SESSION_COOKIE_DOMAIN': None,
# session的cookie保存的路径
'SESSION_COOKIE_PATH': None,
# session的cookie是否只支持http传输
'SESSION_COOKIE_HTTPONLY': True,
# session是否传输http
'SESSION_COOKIE_SECURE': False,
'SESSION_COOKIE_SAMESITE': None,
# 会话刷新每个请求
'SESSION_REFRESH_EACH_REQUEST': True,
'MAX_CONTENT_LENGTH': None,
'SEND_FILE_MAX_AGE_DEFAULT': None,
'TRAP_BAD_REQUEST_ERRORS': None,
'TRAP_HTTP_EXCEPTIONS': False,
'EXPLAIN_TEMPLATE_LOADING': False,
'PREFERRED_URL_SCHEME': 'http',
'JSON_AS_ASCII': True,
'JSON_SORT_KEYS': True,
'JSONIFY_PRETTYPRINT_REGULAR': False,
'JSONIFY_MIMETYPE': 'application/json',
'TEMPLATES_AUTO_RELOAD': None,
'MAX_COOKIE_SIZE': 4093
}
3. 修改配置信息
*** 方式四最常用
3.1 方式一:直接赋值
app.debug = True
app.secret_key='ffsgfdsgfdfhfdg'
app.session_cookie_name='sss'
3.2 方式二:字典形式
因为配置信息本身就是以字典的形式存在
app.config['DEBUG'] = True
app.config['SECRET_KEY'] = 'asfasdf'
3.3 方式三:配置文件的形式
1. 第一步:创建 settings.py 文件
# 修改配置
DEBUG = True
SECRET_KEY = 'fdafafagvsf'
2. 第二步:main.py文件(项目文件)中引入
# 引入settings.py 文件
app.config.from_pyfile('./settings.py')
3.4 方式四:类的形式(重要 常用)
1. 第一步:创建 settings.py 文件, 以下为配置内容。
class Config(object):
DEBUG = False
TESTING: False
DATABASE_URL = 'sqlite://'
class ProductionConfig(Config): # 上线配置
DEBUG = False
DATABASE_URL = 'mysql://user@localhost/foo'
class DevelopmentConfig(Config): # 开发配置
DEBUG = True
DATABASE_URL = 'mysql://192.168.11.16/foo'
2. 第二步:main.py文件(项目文件)中引入
2.1 方式一:直接引入
app.config.from_object('settings.DevelopmentConfig')
2.2方式二: 导入方式
from settings import DevelopmentConfig
app.config.from_object(DevelopmentConfig)
3.5 方式五:环境变量的形式
app.config.from_envvar("环境变量名称")
3.6 方式六:分布式配置中心
......