当前位置: 首页 > news >正文

【Flask】配置项解析与加载

文章目录

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

默认配置表

配置项默认值备注
DEBUGFalse是否开启 Debug 模式。如果为True,修改了代码,只需要保存,自动热加载
TESTINGFalse是否开启测试模式。
PROPAGATE_EXCEPTIONSNone异常是否向上层传播。
PRESERVE_CONTEXT_ON_EXCEPTIONNone在处理异常时是否保留应用程序上下文。
SECRET_KEYNone用于加密会话数据的密钥。
PERMANENT_SESSION_LIFETIME31 days会话的持续时间。
USE_X_SENDFILEFalse是否启用 X-Sendfile 特性。
LOGGER_NAMENone日志记录器的名称。
LOGGER_HANDLER_POLICY‘always’日志处理器的策略。
SERVER_NAMENone应用程序的主机名和端口号。
APPLICATION_ROOTNone应用程序的根路径。
SESSION_COOKIE_NAME‘session’会话 cookie 的名称。
SESSION_COOKIE_DOMAINNone会话 cookie 的域名。
SESSION_COOKIE_PATHNone会话 cookie 的路径。
SESSION_COOKIE_HTTPONLYTrue会话 cookie 是否只能通过 HTTP 协议访问。
SESSION_COOKIE_SECUREFalse会话 cookie 是否只能通过安全连接传输。
SESSION_REFRESH_EACH_REQUESTTrue每个请求结束后是否刷新会话的过期时间。
MAX_CONTENT_LENGTHNone请求的最大内容长度。
SEND_FILE_MAX_AGE_DEFAULT12 hours静态文件的缓存时间。
TRAP_BAD_REQUEST_ERRORSFalse是否捕获和处理错误的请求数据。
TRAP_HTTP_EXCEPTIONSFalse是否捕获和处理 HTTP 异常。
EXPLAIN_TEMPLATE_LOADINGFalse是否显示模板加载的详细信息。
PREFERRED_URL_SCHEME‘http’生成 URL 时使用的默认协议。
JSON_AS_ASCIITrue是否将 JSON 数据作为 ASCII 编码。
JSON_SORT_KEYSTrue是否对 JSON 数据的键进行排序。
JSONIFY_PRETTYPRINT_REGULARTrue是否对 JSON 数据进行美化打印,使其更易读。
JSONIFY_MIMETYPE‘application/json’返回的 JSON 数据的 MIME 类型。
TEMPLATES_AUTO_RELOADNone是否在模板文件发生改变时自动重新加载模板。

配置项加载方式

直接配置

from flask import Flask,jsonifyapp = 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 = FalseTESTING = FalseDATABASE_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 来设置端口号。
"""
http://www.lryc.cn/news/93754.html

相关文章:

  • Dinky: 实时即未来,让 Flink SQL 纵享丝滑--如何本地编译、运行
  • 2023 Nature 健康系统规模的语言模型是通用预测引擎
  • 《2023 年 React 生态》
  • 武职302303笔记-day01
  • Python面试高频100题【11~15题】
  • Linux下Redis 存储
  • QML 快速上手3 - QuickControl2
  • QT Creator写一个简单的电压电流显示器
  • 前端需要的技能
  • Qt——Qt控件之基于模型的项目视图组-QTreeView树形视图控件的使用总结(Qt仿word标题列表的实现)
  • spring boot框架步骤
  • 动态创建select
  • linux-centos7操作系统查看系统未挂载的磁盘,挂载磁盘
  • STM32软件定时器
  • [论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点
  • Java中List、Set、Map的区别和实现方式
  • @EnableScheduling和@Scheduled注解详解fixedrate和fixeddelay的区别
  • 打印金字塔图案总结
  • SQL语句的执行顺序
  • Debian 版本代号与《玩具总动员》
  • TypeScript 第一章
  • 【SpringCloud入门】-- Ribbon入门
  • (二)Liunx下ElasticSearch快速搭建
  • 神经网络编程基础
  • 2023年北京/上海/深圳DAMA-CDGA/CDGP数据治理工程师认证报名
  • Python之枚举类Enum定义错误码
  • GIS大数据处理框架sedona(塞多纳)编程入门指导
  • C++基础(7)——类和对象(5)
  • 【Express.js】sql-knex 增删改查
  • 构建基于前后端分离的医学影像学学习平台:Java技术实现与深度解析