默认配置表
配置项 | 默认值 | 备注 |
---|---|---|
DEBUG | False | 是否开启 Debug 模式。如果为True,修改了代码,只需要保存,自动热加载 |
TESTING | False | 是否开启测试模式。 |
PROPAGATE_EXCEPTIONS | None | 异常是否向上层传播。 |
PRESERVE_CONTEXT_ON_EXCEPTION | None | 在处理异常时是否保留应用程序上下文。 |
SECRET_KEY | None | 用于加密会话数据的密钥。 |
PERMANENT_SESSION_LIFETIME | 31 days | 会话的持续时间。 |
USE_X_SENDFILE | False | 是否启用 X-Sendfile 特性。 |
LOGGER_NAME | None | 日志记录器的名称。 |
LOGGER_HANDLER_POLICY | ‘always’ | 日志处理器的策略。 |
SERVER_NAME | None | 应用程序的主机名和端口号。 |
APPLICATION_ROOT | None | 应用程序的根路径。 |
SESSION_COOKIE_NAME | ‘session’ | 会话 cookie 的名称。 |
SESSION_COOKIE_DOMAIN | None | 会话 cookie 的域名。 |
SESSION_COOKIE_PATH | None | 会话 cookie 的路径。 |
SESSION_COOKIE_HTTPONLY | True | 会话 cookie 是否只能通过 HTTP 协议访问。 |
SESSION_COOKIE_SECURE | False | 会话 cookie 是否只能通过安全连接传输。 |
SESSION_REFRESH_EACH_REQUEST | True | 每个请求结束后是否刷新会话的过期时间。 |
MAX_CONTENT_LENGTH | None | 请求的最大内容长度。 |
SEND_FILE_MAX_AGE_DEFAULT | 12 hours | 静态文件的缓存时间。 |
TRAP_BAD_REQUEST_ERRORS | False | 是否捕获和处理错误的请求数据。 |
TRAP_HTTP_EXCEPTIONS | False | 是否捕获和处理 HTTP 异常。 |
EXPLAIN_TEMPLATE_LOADING | False | 是否显示模板加载的详细信息。 |
PREFERRED_URL_SCHEME | ‘http’ | 生成 URL 时使用的默认协议。 |
JSON_AS_ASCII | True | 是否将 JSON 数据作为 ASCII 编码。 |
JSON_SORT_KEYS | True | 是否对 JSON 数据的键进行排序。 |
JSONIFY_PRETTYPRINT_REGULAR | True | 是否对 JSON 数据进行美化打印,使其更易读。 |
JSONIFY_MIMETYPE | ‘application/json’ | 返回的 JSON 数据的 MIME 类型。 |
TEMPLATES_AUTO_RELOAD | None | 是否在模板文件发生改变时自动重新加载模板。 |
配置项加载方式
直接配置
from flask import Flask,jsonify
app = Flask(__name__)
# 直接配置--->能够配的参数少
app.secret_key = 'asdfasdf' # secret_key 用来加密解密的密钥
app.debug = True # 修改了代码,只需要保存,自动热加载
存放在app.config字典
# app.config 这个字典中放了所有的配置
app.config['DEBUG'] = False # 都要大写
app.config['MYSQL_HOST'] = '127.0.0.1'
通过.py配置文件
-
settings.py
DEBUG = True SECRET_KEY = 'your_secret_key'
-
app.py
# 用得少,django 框架的使用方式 app.config.from_pyfile("settings.py")
通过class类加载对象
class Config(object):
DEBUG = False
TESTING = False
DATABASE_URI = 'sqlite://:memory:'
app = Flask(__name__)
app.config.from_object(Config())
通过.json配置文件
app.config.from_json("settings.json")
通过环境变量配置
app.config.from_envvar("环境变量名称")
内置命令行
$ export FLASK_APP=app.py
$ export FLASK_ENV=development
$ flask run --port=5000
"""
通过设置 FLASK_APP 环境变量指定应用程序文件,
FLASK_ENV 环境变量指定运行环境,
通过命令行参数 --port 来设置端口号。
"""