웹개발/Flask

URL Building, url_for(), url_for 쓰는 이유, redirect

Olivia-BlackCherry 2022. 12. 17. 10:27

url_for

url_for는 flask에서 제공하는 함수이다. 

구조는 아래와 같다.

url_for(연결할 함수이름, 전달할 인자값)

 

URL을 하드코딩하는 것보다 url_for()을 이용하여 만들면 여러 장점이 많다. 표현이 자세하고, 이해하거나 기억하기 쉬우며, 여러 상황에서 유동적으로 작동한다.

test_request_context()  함수로 플라스크에서 url_for()을 이용하면, 실제 주소가 어떻게 표현되는지 볼 수 있다.

 

url_for()를 사용하기 위해 flask에서 url_for, redirect를 import한다.

실제 코드를 살펴보자. 

from flask import Flask, url_for, redirect

app=Flask(__name__)

@app.route("/a")
def move_a():
    return redirect(url_for('move_b'))

@app.route("/b")
def move_b():
    return "I am move_b"

if __name__== "__main__":
    app.run(debug=True)