我希望能够将所有传入请求中的一些数据添加到flask中的请求变量中.是否有一种简单的方法可以在不必将此逻辑写入我的每个端点的情况下挂钩? 最佳答案 您可能正在寻找
flask.Flask.before_request
.请至少浏览API文档,它写得很好,并且可能会提供关键字,您可以搜索以后可能遇到的问题的解决方案.
此外,您不一定能够将数据添加到请求属性表单和args中,因为它们是不可变的,请考虑使用g是thread local.
用法示例:
from flask import Flask, request, g
app = Flask(__name__)
@app.route('/')
def home():
return g.target + '\n'
@app.before_request
def before_req():
g.target = request.args.get('target', 'default')
if __name__ == '__main__':
app.run()
用法:
$wget -qO - 'http://localhost:5000/?target=value'
value
$wget -qO - 'http://localhost:5000/?key=value'
default