Python Flask Web教程:make_response的详细用法

本文详述了Python Flask中的make_response函数,包括其基本用法、接受参数(如字符串、字节数组、响应对象和元组)、设置Cookies以及处理JSON响应的功能。示例展示了如何使用make_response构建响应对象并进行HTTP响应的细粒度控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 Flask 中,make_response 是一个非常实用的函数,它可以用来构造响应对象。下面是 make_response 函数的详细用法:

基本用法

在 Flask 中,make_response 可以用来从返回的数据中创建一个响应对象。它接受几种不同类型的参数,并返回一个 Response 对象。

from flask import make_response

@app.route('/')
def index(
Flask 中,`make_response` 函数是一个非常实用的工具,它用于构建返回给客户端的 HTTP 响应。其基本用法包括以下几个方面: 1. **创建响应**: 如果你需要创建一个简单的响应,可以仅传递数据和状态码: ```python from flask import make_response response = make_response("Hello, World!", 200) ``` 这将生成一个包含 "Hello, World!" 文本内容、HTTP 状态码为 200 的响应。 2. **设置头部信息**: 可以添加额外的头部信息,如设置 Content-Type 或 CORS 标头: ```python response = make_response(json.dumps({"message": "Success"}), 200) response.headers['Content-Type'] = 'application/json' ``` 3. **附加cookies**: 要附带 cookie 到响应,可以这样做: ```python cookie = {'session_key': 'value'} response = make_response('', 200) response.set_cookie('session_key', 'value', max_age=60 * 60) ``` 4. **启用或禁用缓存**: `make_response` 可以控制缓存策略,例如禁止缓存: ```python response = make_response("...", 200) response.cache_control.no_cache = True ``` 5. **JSON 返回**: 如果你想以 JSON 形式返回数据,可以先转换再创建响应: ```python from flask import jsonify data = {"key": "value"} response = make_response(jsonify(data), 200) ``` 6. **流式响应**: 对于大文件下载,你可以通过逐块返回来创建流式响应: ```python def download_file(): file_data = ... # 获取文件内容 response = make_response(file_data, 200) response.headers["Content-Disposition"] = "attachment; filename=example.txt" return response ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若北辰

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值