18

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)

しかし、上記は少し奇妙に思えます。リクエストにアクセスするためのより良い方法があると確信しています。

ありがとう

4

2 に答える 2