方式一:字段赋值方式导入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from flask import Flask
 
app = Flask(__name__)
 
app.config["debug"= True
app.secret_key = 'afadfadfaf'
 
@app.route("/")
def index():
    return "hello"
 
 
if __name__ == '__main__':
    app.run()

  缺点:对于极少数字段配置可以使用,多字段配置不可取

方式二:py文件导入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# app.py<br>from flask import Flask
 
app = Flask(__name__)
 
app.config.from_pyfile("settings.py")  # 指定setting文件
 
@app.route("/")
def index():
    return "hello"
 
 
if __name__ == '__main__':
    app.run()
 
 
# settings.py
 
DEBUG = True
...  

方式三:python类路径方式导入

app.py

1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask
 
app = Flask(__name__)
 
app.config.from_object("test.settings.TestingConfig")    # 系统环境需能找到的模块路径,默认在app同级目录下
 
@app.route("/")
def index():
    return "hello"
 
 
if __name__ == '__main__':
    app.run()

settings.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Config(object):
    DEBUG = False
    TESTING = False
    DATABASE_URI = 'sqlite://:memory:'
 
 
class ProductionConfig(Config):
    DATABASE_URI = 'mysql://user@localhost/foo'
 
 
class DevelopmentConfig(Config):
    DEBUG = True
 
 
class TestingConfig(Config):
    TESTING = True  

  推荐配置导入方式,可以根据开发环境灵活配置

默认配置参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
    '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默认配置参数的更多相关文章

  1. jQuery处理默认配置参数(将一个或多个对象的内容合并到目标对象)

    问题 我们在封装一个函数时, 需要别人传递一个json对象作为参数, 而用户可能只传入部分参数, 这是就可以利用$extend()来与合并到默认JSON参数合并. // 程序需要的参数 var def ...

  2. HBase-site.xml 常见重要配置参数

    HBase 常见重要配置参数 (1) Hbase.rpc.timeout rpc 的超时时间,默认 60s,不建议修改,避免影响正常的业务,在线上环境刚开始配置的是 3 秒,运行半天后发现了大量的 t ...

  3. defaults(默认配置)和mergeConfig(合并config方法)

    axios学习笔记defaults(默认配置)和mergeConfig(合并config方法) 源码地址 找到入口文件 axios/lib/axios.js ... var mergeConfig = ...

  4. Webpack中SplitChunksPlugin 配置参数详解

    代码分割本身和 webpack 没有什么关系,但是由于使用 webpack 可以非常轻松地实现代码分割,所以提到代码分割首先就会想到使用 webopack 实现. 在 webpack 中是使用 Spl ...

  5. Flask实例化的参数 及 对app的配置

    首先展示一下: from flask import Flask app = Flask(__name__) # type:Flask app.config["DEBUG"] = T ...

  6. flask session 使用默认配置修改session不生效问题

    flask session相关 使用flask 默认sessio是存储在浏览器的cookie中,当请求返回时会将session写在cooKie中,但是在写的时候,默认并不是每次都重新写入 比如下例子 ...

  7. Flask的实例化参数及对app的配置

    目录 1.调试模式初测 2.app.config中的其他配置参数详解 3.修改config配置的方式(from_object用法) 3.1直接对app.config进行修改: 3.2使用类的方式导入: ...

  8. flask 第八篇 实例化flask时的参数配置

    Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from ...

  9. Flask入门学习——配置参数的管理方式

    一般来说有这么几种方式: 直接操作config的字典对象 app.config["DEBUG"] = True 使用配置文件加载,直接传入文件名 app.config.from_p ...

  10. Flask对象配置

    Flask的配置就是在 app.config 中添加一个键值对,但是你存进去的键必须是config中应该存在的,如果不再存在的话,它会默认无用,就这么放着 config中有用的key { 'DEBUG ...

随机推荐

  1. 6.navicat for mysql 定时计划 定时导出EXCEL文件 并 附件发送邮件到固定邮箱

    链接:https://blog.csdn.net/pizilii/article/details/80829761 补充: 先查看mysql定时任务是否开启. show variables like ...

  2. elastalert部署和使用

    一.Elastalert简介 Elastalert是Yelp公司基于python开发的ELK日志告警插件,Elastalert通过查询Elasticsearch中的记录与定于的告警规则进行对比,判断是 ...

  3. 如何通过使用vscode工具学习ts(typescript)

    1 如果有vscode工具可自行忽略这条:如果没有vscode工具,可进入官网http://vscode.p2hp.com/进行下载,下载过程可自行百度. 2 D盘新建文件夹随意命名为TS-LEAN, ...

  4. nginx 日志分析之 access.log 格式详解

    说明:access.log 的格式是可以自己自定义,输出的信息格式在nginx.conf中设置 一般默认配置如下: http { ... log_format main '$remote_addr - ...

  5. win11恢复完整右键菜单

    使用注册表修改 首先,通过修改注册表,我们就可以将 Win11 的右键菜单改为老样式.下面是具体的方法. 运行"regedit",开启注册表编辑器,定位到"HKEY_CU ...

  6. system verilog与C语言的接口(包含使用方法以及实例)

    资料来源 (1) sv绿皮书; (2) vcs user guide; (3) https://www.cnblogs.com/studyforever/p/5169243.html (4) syst ...

  7. abap screen表格控件后续增加栏位

    当我们通过screen的表控件(含向导)创建完表格之后,后续想再增加栏位,要先把输入控件拖入表格控件内,再按钮控控件拖进去即可. 注:输入控件的名称和格式要和程序中的一致,否则会显示不出数据 效果图如 ...

  8. 【vue】Vue-router

    Vue-router 安装 npm install vue-router --save-dev vue-cli中已经选择安装了vue-router,那这里不需要重复安装了 解读route 路径```s ...

  9. P7074 [CSP-J2020] 方格取数

    目录 题目 思路 code 题目 题目链接https://www.luogu.com.cn/problem/P7074 思路 用dp[i][j][0]表示在(i,j)从左边来的最大值 用dp[i][j ...

  10. c++ 继承访问控制初步

    访问控制方式这里有篇很好的文章,其实内容也是总结c++primer上的内容 现在就按照这篇的文章举例进行学习. 思路 不同继承方式的影响主要体现在: 1.派生类成员对基类成员的访问控制. 2.派生类对 ...