파이썬/flask

flask 데코레이터

개발자J군 2020. 10. 5. 20:29

flask에는 정의된 다양한 데코레이터가 있다.

기본적으로 유용한 데코레이터는 아래와 같다.

 

  • before_first_request : 첫 HTTP 요청에서만 실행됨.
  • before_request : HTTP 요청이 들어올때마다 실행됨.
  • after_request : HTTP  요청 처리가 끝나고 응답하기 전에 실행됨.
from flask import Flask
import requests

app = Flask(__name__)

@app.before_first_request
def http_first():
    print ("HTTP first_request")

@app.before_request
def http_before():
    print ("HTTP before_request")

@app.after_request
def http_after(response):
    print ("HTTP after_request")
    return response


@app.route("/start")
def start():
    print("start")
    return "<h1>http start</h1>"


if __name__ == "__main__":
    app.run(host="127.0.0.1", port="8080")

첫 실행시

처음 실행시는 위와 같고 동일한 route 한번 더 접속시 아래와 같다.

 HTTP START는 한번만 실행되는 것을 확인할 수 있다.

반응형