반응형
make_response 함수란?
간단하게 flask 로 backend (서버)를 동작 시킬 때 외부에서 URI로 접속을 할 때 HTTP Status 상태와 함께 원하는 값을 쉽게 반환하기 위해 사용한다.
HTTP Status Code (상태코드)
외부에서 HTTP 프로토콜로 요청을 하면 요청을 받은 서버는 자신의 상태에 따라 상태코드를 전송한다.
- 1xx : 숫자 백번대는 정보를 의미한다.
- 2xx : 숫자 이백번대는 요청의 성공 관련 상태 코드이다.
- 3xx : 숫자 삼백번대는 redirect 관련 상태 코드이다.
- 4xx : 숫자 사백번대는 에러 관련 상태 코드이다.
make_reponse 예제
test.py 코드>>
from flask import Flask, make_response, jsonify, render_template
app = Flask(__name__)
@app.route("/page_200", methods=['GET'])
def page_200():
return make_response(jsonify({"status number": 200}), 200)
@app.route("/page_301", methods=['GET'])
def page_301():
return make_response(render_template('page301.html'), 301)
@app.route("/page_404", methods=['GET'])
def page_404():
return make_response("Not Found", 404)
if __name__ == '__main__':
app.run(host="0.0.0.0", port="9999", debug="on")
주석>>
위 파이썬 코드에서 해당 URI로 접속하면 여러가지 방식으로 값을 return 한다. jsonify 를 통해 json 형태로 return 하거나 page301.html 파일로 redirect 시키거나 단순 string으로 보내는 것도 가능하다.
결과>>
결과와 더불어 상태를 확인하고 싶으면 크롬 브라우져에서 ctrl + shift + I 또는 마우스 우클릭으로 검사를 선탠하면 아래 화면처럼 나온다. 그리고 Network 탭을 클릭하면 status code를 확인할 수있다. 밑에는 404 status code 이다.
반응형
'파이썬(Python) > Flask' 카테고리의 다른 글
파이썬 before_first_request, before_request, after_request 함수 쉬운 예제로 이해하기 (0) | 2021.05.21 |
---|---|
파이썬 flash 사용해서 팝업창 만들기 (alert, popup, flash) (0) | 2021.05.19 |
Jinja2 조건문, 반복문 예제로 익혀보기 (if문, for문, flask) (0) | 2021.05.07 |
파이썬 flask에서 render_template 함수 예제로 이해해보기 (0) | 2021.05.04 |
REST API란? flask를 통해 예제 실습하기 (0) | 2021.04.29 |