【Flask】配置项解析与加载

文章目录

    • 默认配置表
    • 配置项加载方式
      • 直接配置
      • 存放在app.config字典
      • 通过.py配置文件
      • 通过class类加载对象
      • 通过.json配置文件
      • 通过环境变量配置
      • 内置命令行

默认配置表

配置项 默认值 备注
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 来设置端口号。
"""

你可能感兴趣的:(#,Flask,flask,python,后端,人工智能,开发语言)