Flaskのリクエストフック

1147 ワード

リクエストフックとは?はっきり言って、ビュー関数を実行する前後にいくつかの処理を行うことができて、Flaskは装飾器を使って私たちに共通の関数を登録する機能を提供しました.
  • before_first_request:最初のリクエストを処理する前に
  • を実行する
  • before_request:リクエストごとに
  • を実行する
  • after_request:未処理の例外が
  • 投げ出されていないことを前提として、リクエストのたびに呼び出される.
  • teardown_request:リクエストのたびに呼び出され、未処理の例外があっても
  • が投げ出される.
    from flask import Flask
    app = Flask(__name__)
    
    @app.before_first_request
    def before_first_request():
        print('before_first_request')
    
    
    @app.before_request
    def before_request():
        print('before_request')
    
    
    @app.after_request
    def after_request(resp):
        print('after_request')
        return resp
    
    
    @app.teardown_request
    def teardown_request(e):
        print('teardown_request')
    
    
    @app.route("/")
    def view_fn():
        return "view_fn"
        
    if __name__ == "__main__":
        app.run()

    最初のリクエスト:
        :view_fn
         : before_first_request
                before_request
                after_request
                teardown_request

    2回目のリクエスト:
        :view_fn
         : before_request
                after_request
                teardown_request