반응형
1. __init__.py 수정
from flask import Flask, g, Response, make_response
app = Flask(__name__)
app.debug = True #use only debug!!
@app.before_request
def before_request();
print("before_request!!!")
g.str = "한글"
@app.route("/gg")
def helloworld():
return "Hello World!" +getattr(g, 'str', '111')
@app.route("/")
def helloworld():
return "Hello Flask World!!!!!!!"
@app.route("/res1")
def res1():
custom_res = Response("Custom Response", 200, {'test':'ttt'})
return make_response(custom_res)
@app.route("/test_wsgi")
def wsgi_test():
def application(environ, start_response):
body = 'The request method was %s' %environ['REQUEST_METHOD']
headers = [('Content-Type', 'text/plain'), ('Content-Length', str(len(body)))]
start_response('200 OK', headers)
return [body]
return make_response(application)
@app.route("/gg")
g: 글로벌 변수(Application Context영역), 방문자수 등 모든 사용자와 공유되어야 하는 변수
getattr(g, 'str', '111'): 글로벌 변수 g의 'str' 어트리뷰트를 표시하고, 'str' 어트리뷰트가 없을 경우 default값으로 '111'이 출력되도록 지정함.
Application Context: 모든 사람을 위한 영역
Session: 한 사람의 브라우저를 위한 영역
@app.route("/res1")
Response 함수의 사용 예입니다.
"Custom Response"는 표시할 문자열이고, 200은 응답 status, {'test':'ttt'}는 헤더 영역에 데이터를 보냅니다.
make_response는 스트림으로 데이터를 내려보냅니다.
@app.route("/test_wsgi")
body 부분에서 %연산자는 %뒤쪽에 선언된 변수가 %s 부분으로 대입됩니다.
headers는 키,값의 쌍으로 입력을 해 줍니다. 따라서 body의 길이에 해당하는 숫자도 str형태로 변환해줍니다.
start_reponse('200 OK', headers)는 200 OK status와 헤더를 보내주는 callback 함수입니다.
반응형
'Programming > Python_Web' 카테고리의 다른 글
Flask강좌4 - Flask_SQLAlchemy MySQL연동 (5) | 2020.12.02 |
---|---|
Flask강좌3 - Request (0) | 2020.12.01 |
Flask강좌1 - hello flask! (0) | 2020.12.01 |
Flask - IIS연동 (2) | 2020.10.23 |
Flask - mysql 연동 (0) | 2020.08.21 |