Flask--Debug和配置

Debug模式

  • 开启Debug模式的作用
  • 便于在web页面定位问题
  • 代码保存直接生效,不用重新运行
  • falsk支持4种方式配置debug
  • app.run(debug=True) # 方式一x
  • app.debug = True # 方式二
  • app.config.update(DEBUG=True) # 方式三
  • app.config.from_object(config)
# flask_demo.py
from flask import Flask
import config


app = Flask(__name__)

# app.debug = True   # 方式二

# app.config.update(DEBUG=True) # 方式三
# app.config["DEBUG"] = True  # 方式三

# app.config.from_object(config)  # 方式四


@app.route('/')
def hello_world():
    a = 1
    b = 0
    return a/b


if __name__ == '__main__':
    # app.run(debug=True)   # 方式一
    app.run()   
# config.py
DEBUG = True
  • pycharm使用debug模式时需要在运行edit configurations中勾选Flask_debug

项目配置

  • 4种配置方式
# config.py
DEBUG = True
# flask_demo.py
from flask import Flask


app = Flask(__name__)

# 方式一:  配置系统能找到的模块路径
app.config.from_object("config") 

# 方式二: import config方式,见Debug方式4

# 方式三:app.config式,见Debug方式3  

# 方式四: 配置.py文件
app.config.from_pyfile('config.py')


@app.route('/')
def hello_world():
    a = 1
    b = 0
    return a/b


if __name__ == '__main__':
    app.run()   

源码config

通过ctrl + 左键点击Flask类进入源码或者打印app.config方式查看源码

{
"ENV": None,   
"DEBUG": None,  # 是否开启Debug模式
"TESTING": False,  # 是否开启测试模式
"PROPAGATE_EXCEPTIONS": None, # 异常传播(是否在控制台打印LOG) 当Debug或者testing开启后,自动为True
"PRESERVE_CONTEXT_ON_EXCEPTION": None,
"SECRET_KEY": None,  # 启用Session的时使用
"PERMANENT_SESSION_LIFETIME": timedelta(days=31),Session的生命周期()默认31"USE_X_SENDFILE": False,# 是否弃用 x_sendfile
"SERVER_NAME": None,# 服务访问域名
"APPLICATION_ROOT": "/",# 项目的完整路径
"SESSION_COOKIE_NAME": "session",# 在cookies中存放session加密字符串的名字
"SESSION_COOKIE_DOMAIN": None,# 在哪个域名下会产生session记录在cookies中
"SESSION_COOKIE_PATH": None,# cookies的路径
"SESSION_COOKIE_HTTPONLY": True, # 控制 cookie 是否应被设置 httponly 的标志,
"SESSION_COOKIE_SECURE": False, # 控制 cookie 是否应被设置安全标志
"SESSION_COOKIE_SAMESITE": None,
"SESSION_REFRESH_EACH_REQUEST": True,# 这个标志控制永久会话如何刷新
"MAX_CONTENT_LENGTH": None, # 如果设置为字节数, Flask 会拒绝内容长度大于此值的请求进入,并返回一个 413 状态码
"SEND_FILE_MAX_AGE_DEFAULT": timedelta(hours=12),# hours 默认缓存控制的最大期限
"TRAP_BAD_REQUEST_ERRORS": None,# 如果这个值被设置为 True ,Flask不会执行 HTTP 异常的错误处理,而是像对待其它异常一样通过异常栈让它冒泡地抛出
"TRAP_HTTP_EXCEPTIONS": False,
"EXPLAIN_TEMPLATE_LOADING": False,
"PREFERRED_URL_SCHEME": "http", # 生成URL的时候如果没有可用的 URL 模式的话将使用这个值
"JSON_AS_ASCII": True,   # 默认情况下 Flask 使用 ascii 编码来序列化对象。如果这个值被设置为 False ,Flask不会将其编码为 ASCII,而是按原样输出,返回它的 unicode 字符串。比如 jsonfiy 会自动地采用 utf-8 来编码它然后才进行传输
"JSON_SORT_KEYS": True, # 默认情况下 Flask 按照 JSON 对象的键的顺序来序来序列化它
"JSONIFY_PRETTYPRINT_REGULAR": False,
"JSONIFY_MIMETYPE": "application/json",
"TEMPLATES_AUTO_RELOAD": None,
"MAX_COOKIE_SIZE": 4093,
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值