Response 响应

视图函数的返回值,Flask 会自动转换成响应对象
如果视图返回字符串:自动生成主体为该字符串、状态码 200 OK、MIME类型 text/html 的响应对象。

Flask 转换返回值为响应对象的判断逻辑:

  1. 若返回合法响应对象,直接返回
  2. 若返回字符串 ,使用字符串和默认参数创建响应对象
  3. 若返回元组:格式 (response, status, headers),至少包含第一项;status 覆盖状态码,headers 支持列表/字典,用于追加响应头
  4. 以上都不满足, Flask 将返回值视作合法WSGI应用,转换为响应对象

make_response() 函数

作用:手动构建响应对象,方便自定义修改响应头、状态码
使用方式:将返回表达式传入 make_response(),得到响应对象,修改属性后return。

示例

方式1:直接返回元组(简易写法)

@app.errorhandler(404)
def not_found(error):
    return render_template('error.html'), 404Code language: JavaScript (javascript)

方式2:使用 make_response() 自定义响应头(灵活写法)

from flask import make_response, render_template

@app.errorhandler(404)
def not_found(error):
    resp = make_response(render_template('error.html'), 404)
    # 自定义响应头
    resp.headers['X-Something'] = 'A value'
    return respCode language: PHP (php)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注