python flask请求钩子

Atu*_*tia 4 python request flask

我希望能够将request所有传入的一些数据添加到烧瓶中的变量中requests.是否有一种简单的方法可以在不必将此逻辑写入我的每个端点的情况下挂钩?

met*_*ter 10

你可能正在寻找flask.Flask.before_request.请至少浏览API文档,它写得很好,并且可能会提供关键字,您可以搜索以后可能遇到的问题的解决方案.

此外,您不一定能够将数据添加到request属性中form,args因为它们是不可变的,请考虑使用g哪个是本地线程.

用法示例:

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()
Run Code Online (Sandbox Code Playgroud)

用法:

$ wget -qO - 'http://localhost:5000/?target=value'
value
$ wget -qO - 'http://localhost:5000/?key=value'
default
Run Code Online (Sandbox Code Playgroud)