gpt4 book ai didi

python - 在响应头 flask 中设置多个选项

转载 作者:行者123 更新时间:2023-11-28 21:15:52 26 4
gpt4 key购买 nike

我们如何为 Flask 中的标题设置多个选项。例如:我想在Cache-Control header 中设置两个选项,一个是ma​​x-age,另一个是public/private。我如何在 flask 中做到这一点?目前我已经实现了这个。

from flask import Flask, jsonify, abort, request, json, Response

app = Flask(__name__)

book_list = ['Peaceful Warrior', 'The Monk who sold his ferrari', 'Lord of the Rings', 'Game of Thrones', 'The True Name', 'The Da Vinci Code',
'Angels and Demons', 'Fear of Flying', 'Harry Potter and Half Blood Prince']

# create a in-memory book-store
books = [{'id': id, 'name': book} for id, book in enumerate(book_list, 1)]
@app.route('/books', methods=['GET'])
def get_books():
if 'name' in request.args:
req_books = [book for book in books if book['name'] == request.args['name']]
js = json.dumps(req_books)
resp = Response(js, status=200, mimetype='application/json')
resp.headers['Cache-Control'] = 'public'
resp.headers['Cache-Control'] = 'max-age=20'

elif 'id' in request.args:
req_books = [book for book in books if book['id'] == request.args['id']]
js = json.dumps(req_books)
resp = Response(js, status=200, mimetype='application/json')
resp.headers['Cache-Control'] = 'public'
else:
js = json.dumps(books)
resp = Response(js, status=200, mimetype='application/json')
resp.headers['Cache-Control'] = 'public'

return resp

最后我的回复应该有这种形式的标题:-

Cache-Control: public
Cache-Control: max-age=20

最佳答案

resp.headers 是一个 python 字典,因此它将键“Cache-Control”映射到一个值。当您设置它两次时,您将覆盖您之前设置的值。幸运的是,您可以对这些 header 使用逗号分隔列表:

resp.headers['Cache-Control'] = 'public, max-age=20'

关于python - 在响应头 flask 中设置多个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29598760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com