파이썬(Python)/Flask

make_response 함수란? 예제를 통한 사용 방법 학습(flask, python)

끄적끄적아무거나 2021. 5. 12. 18:18
반응형

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 이다.

 

 

반응형