Flask で、後始末メソッドである teardown_appcontext teardown_request after_request が呼ばれる順序。ググってもそのものズバリがヒットしなかったので。

from flask import Flask

app = Flask(__name__)

@app.after_request
def after_request(x):
	print("after_request")
	return x

@app.teardown_request
def teardown_request(x):
	print("teardown_request")

@app.teardown_appcontext
def teardown_appcontext(x):
	print("teardown_appcontext")

@app.route("/")
def view():
	return ""

app.run(debug=True, host="0.0.0.0")

結果

[umezawa@devubuntu:pts/0 ~]$ python3 flask_teardown_order.py
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 702-370-689
after_request
teardown_request
teardown_appcontext
192.168.0.4 - - [16/Aug/2019 20:31:53] "GET / HTTP/1.1" 200 -

環境:

  • Ubuntu 18.04 LTS
  • Flask 0.12.2
Trackback

no comment untill now

Add your comment now