파이썬(Python)/Flask

Flask route란

끄적끄적아무거나 2020. 12. 15. 18:47
반응형

 

flask route는 입력 인자의 위치를 웹브라우져를 통해 접속 했을 때 route 바로 밑에 정의 된 함수를 실행해서 return 값을 웹브라우져에 표현해 주는 것이다.

 

아래 예를 통해 이해해보자.

 

코드 - test.py>>

 

from flask import Flask
from flask import request
from flask import render_template

web_gui = Flask(__name__)

@web_gui.route('/')
def hello_fnc():
    return 'Hello'

@web_gui.route("/page", methods = ["GET", "POST"])
def page_fnc():
    if request.method == "POST":
        return 'POST received'
    else:
        return render_template("page.html")    

if __name__ == "__main__":
    web_gui.run(debug=True, port=9999)    

 

결과 및 주석 >>

 

위 코드를 통해 port=9999에 web서버를 동작 시켰고 "/"를 웹에 입력하면 아래와 같은 결과가 나온다.

 

def hello_fnc(): 함수가 "/" 주소에 대해 실행 되고 return 값으로 Hello를 보내 주기 때문에 위처럼 웹브라우져에 Hello가 표기 되었다.

 

만일 /page 주소에 접속하게 될 경우는 page_fnc()함수가 실행 된다. 여기서 methods는 default로 GET을 받는데 다른 요청을 받고 싶을 경우 리스트 형식으로 추가해주면 된다.

 

해당 주소만 치게 되면 아래 page.html 문서가 return 되므로 GET으로 그냥 page만 가져 온다.

 

<html>
    <body>
        <form name="data_send" method="POST" action="/page">
            <button type="submit">POST button</button>
        </form>
    </body>
</html>

 

POST button 을 클릭하면 POST 형태로 form이 전달된다. 그러면 아래처럼 결과를 받을 수 있다.

 

 

 

 

 

 

 

 

반응형