我想在返回HTTP调用的响应之前能够访问请求对象。 我希望通过" teardown_request"访问请求。和" after_request":
from flask import Flask
...
app = Flask(__name__, instance_relative_config=True)
...
@app.before_request
def before_request():
# do something
@app.after_request
def after_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(request)
@app.teardown_request
def teardown_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(request)
我看到我可以将请求添加到g并执行以下操作:
g.curr_request = request
@app.after_request
def after_request(response):
# get the request object somehow
do_something_based_on_the_request_endpoint(g.curr_request)
但上面看起来有点奇怪。我确信有更好的方式来访问请求。
由于
答案 0 :(得分:17)
解决方案很简单 -
from flask import request
@app.after_request
def after_request(response):
do_something_based_on_the_request_endpoint(request)
答案 1 :(得分:0)
同时尝试teardown_request(例外)。这将执行"无论是否存在异常"。查看文档:{{3}}