라우팅 시스템을 위한 룰을 정의하는 법. 주어진 URL 룰에 view 함수를 등록한다.
@app.route('/')
def index():
pass
def index():
pass
app.add_url_rule('/', 'index', index)
route()와 add_url_rule()과 동일한 일을한다. route()는 데코레이터 용이다. 위 두 함수는 동치다. 내부적으로 route()은 add_url_rule()을 불러오기 때문에 이 함수들의 변경을 원할 시 add_url_rule()만 서브 클래스하면 된다. url_map은 Werkzeug 라우팅 시스템을 직접 접근하는 방법이다.
url에서 변수는 <>를 이용해 지정할 수 있다. 기본적으로 /를 제외한 어떤 문자열도 받는다.
ex) (/user/<username>)
다양한 컨버터를 사용할 수도 있고, url_map을 통해 새로운 컨버터를 지정할 수도 있다.
ex) (/user/<int:user_id>)
이때 슬래쉬 사용에 주의해야한다. 룰이 슬래쉬로 끝나면 슬래쉬 없이 접근할때 자동으로 슬래쉬를 넣어 리다아렉트 해주지만 슬래쉬로 끝나지 않는 룰에 슬래쉬를 붙여 접근하면 404 에러가 발생한다.