파이썬 before_first_request, before_request, after_request 함수...

파이썬 before_first_request, before_request, after_request 함수...

반응형

before_first_request, before_request, after_request 함수

before_first_request, before_request, after_request 함수 사용 방법

URI를 통해 접속 전 후에 사용자가 원하는 동작을 시행할 수 있다.

1. Flask 내장 함수이므로 flask를 import 한다.

2. before_first_request 는 첫번째 해당 URI 접근 시 동작한다

3. before_request URI 접근 할 때마다 동작한다.

4. after_request 는 접근 후 동작한다. return 값을 입력으로 받아 처리 가능하다.

예제와 결과로 이해해보기

코드 - test.py>>

from flask import Flask app = Flask(__name__) @app.route("/") def test(): print("No 1") return "No 2" @app.before_first_request def before_first_request(): print("No 3") @app.before_request def before_request(): print("No 4") @app.after_request def after_request(return_val): print("No 5") return return_val if __name__ == "__main__": app.run(host='0.0.0.0', debug=True, port=9999)

결과 >>

* Running on http://0.0.0.0:9999/ (Press CTRL+C to quit) No 3 No 4 No 1 No 5 127.0.0.1 - - [21/May/2021 17:57:11] "GET / HTTP/1.1" 200 - No 4 No 1 No 5 127.0.0.1 - - [21/May/2021 18:02:52] "GET / HTTP/1.1" 200 -

그림1

주석>>

파이썬 코드에서 print 문에 숫자 순서를 통해 어떤 순서로 동작했는 지 알 수 있다. 우선 http://localhost:9999/ 를 웹브라우져를 통해 연결하였다. 그래서 No 3, 4, 1, 5 순서대로 값을 얻었다. 그리고 페이지는 그림1과 같이 return 값 No2를 표기 하였다.

다시 한번 http://localhost:9999/ 를 웹브라우져를 통해 연결 하니 이번에는 before_first_request 함수가 실행되지 않고 No 4, 1, 5 번만 나왔다.

반응형

from http://scribblinganything.tistory.com/176 by ccl(A) rewrite - 2021-05-21 18:26:17