Polpid's World

[Flask]HTTP 요청에 대한 핸들러 본문

Development/Python

[Flask]HTTP 요청에 대한 핸들러

폴피드 2016.08.22 22:48

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







'Development > Python' 카테고리의 다른 글

[Flask]HTTP 요청에 대한 핸들러  (0) 2016.08.22
파이썬 구구단..  (0) 2016.07.25
파이썬 함수 작성시 초기값  (0) 2016.07.11
파이썬에서 연산 순서  (0) 2015.11.11
0 Comments
댓글쓰기 폼