推荐答案
在 Flask 中,可以通过 response.headers 属性或 make_response 函数来设置响应头。以下是两种常见的方式:
方法一:直接修改 response.headers
// www.javascriptcn.com code example
from flask import Flask, Response
app = Flask(__name__)
@app.route('/')
def index():
response = Response("Hello, World!")
response.headers['X-Custom-Header'] = 'CustomValue'
response.headers['Content-Type'] = 'application/json'
return response方法二:使用 make_response
// www.javascriptcn.com code example
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
response = make_response("Hello, World!")
response.headers['X-Custom-Header'] = 'CustomValue'
response.headers['Content-Type'] = 'application/json'
return response本题详细解读
1. 直接修改 response.headers
Response对象是 Flask 中用于表示 HTTP 响应的类。通过创建一个Response对象,可以直接修改其headers属性来设置响应头。headers是一个字典,可以通过键值对的形式添加或修改响应头。
2. 使用 make_response
make_response是 Flask 提供的一个便捷函数,用于创建一个Response对象。它允许你直接设置响应内容,并通过返回的Response对象来设置响应头。- 与直接创建
Response对象相比,make_response更加灵活,可以处理多种类型的响应内容(如字符串、字典、元组等)。
3. 常见响应头
Content-Type:指定响应内容的 MIME 类型,如application/json、text/html等。X-Custom-Header:自定义的响应头,通常用于传递额外的信息。
4. 注意事项
- 设置响应头时,确保键和值的类型正确,避免出现类型错误。
- 如果需要设置多个响应头,可以多次调用
response.headers或make_response返回的对象的headers属性。
通过以上方法,你可以在 Flask 中灵活地设置响应头,以满足不同的业务需求。