728x90
반응형
before_first_request : 웹 application 기동 이후 가장 처음에 들어오는 HTTP 요청에서만 실행
before_request : HTTP 요청이 들어올때마다 실행
after_request : HTTP 요청이 끝나고 브라우저에 응답하기 전에 실행
teardown_request : HTTP 요청 결과가 브라우저에 응답한 다음 실행
teardown_appcontext : HTTP 요청이 완전히 완료되면 실행
before_first_request, before_request는 어떠한 인자도 전달할수 없다!!
after_request는 flask.wrapper.Response 객체를 return 해야한다.
맨 상단에 # 부분은 Encoding 때문에 추가함
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # -*- coding: utf-8 -*- from flask import Flask app = Flask(__name__) @app.route("/") def http_my_response(): return "/" @app.before_first_request def before_first_request(): print ("앱 기동하고 맨처음 요청만 응답") @app.before_request def before_request(): print ("매 요청마다 실행") @app.after_request def after_request(response): print ("매 요청 처리되고 나서 실행") return response @app.teardown_request def teardown_request(exception): return "브라우저가 응답하고 실행" @app.teardown_appcontext def teardown_appcontext(exception): print ("HTTP 요청 애플리케이션 컨텍스트가 종료될때 실행") if __name__ == "__main__": app.run(host="0.0.0.0") | cs |
두번 요청에 대한 결과값
1 2 3 4 5 6 7 8 9 | 앱 기동하고 맨처음 요청만 응답 매 요청마다 실행 매 요청 처리되고 나서 실행 HTTP 요청 애플리케이션 컨텍스트가 종료될때 실행 127.0.0.1 - - [22/Aug/2016 22:34:31] "GET / HTTP/1.1" 200 - 매 요청마다 실행 매 요청 처리되고 나서 실행 HTTP 요청 애플리케이션 컨텍스트가 종료될때 실행 127.0.0.1 - - [22/Aug/2016 22:34:56] "GET / HTTP/1.1" 200 - | cs |
728x90
반응형
'Development > Python' 카테고리의 다른 글
python django 프로젝트 시작하기 (0) | 2020.10.05 |
---|---|
Visual Studio Code 에서 Python Jupyter Notebook 실행 (0) | 2020.08.24 |
파이썬 구구단.. (0) | 2016.07.25 |
파이썬 함수 작성시 초기값 (0) | 2016.07.11 |
파이썬에서 연산 순서 (0) | 2015.11.11 |