Python Flask - Routing

URL의 변수와 값 부분을 크게 두 가지로 분류 할 수 있습니다.

1. <variable_name>

2. <converter:variable_name>




variable_name

@app.route("/user/<username>")

def show_user(username):
    return "User name: %s" % username



[vaiable_name - string]




[vaiable_name - string,int,special char]




route 함수 인자 값 "/user/<username>"를 살펴 보면
URL http://<server IP>/user/[전달할 문자열]로 구성되어 있는걸 확인 할 수 있습니다.

username 변수에 사용자가 입력한 값이 전달되고, 전달받은 username를 "%s" 문자열로 출력하는 과정을 볼 수 있습니다.




converter:variable_name

@app.route("/post/<int:post_id>")

def show_post(post_id):
    return "Post id: %d" % post_id




[converter:variable_name - int]




[converter:variable_name - int]




converter 방식에서는 <자료형:변수명> 형식으로 인자가 전달됩니다.

자료형에는 int(정수), float(실수), path로 구성되어 있습니다.




URL Route URL 규칙

Python Flask URL 규칙은 Werkzeug의 라우팅 모듈을 기반으로 합니다.
우선 아래 예시를 보면서 알아보도록 하겠습니다.




@app.route("/flask")
def hello_flask():
    return "Hello Flask"

@app.route("/python/")
def hello_python():
    return "Hello Python"

첫 번째 URL 경우 "/flask"로 정상적으로 접속이 가능하나 "/flask/"로 접근할 경우 404 Not Found가 발생합니다.

두 번째 URL는 "/python" 또는 "/python/"으로 모두 접속이 가능합니다.




[URL 규칙 - 200 OK]




[URL 규칙 - 404 Not Found]