[오늘의 배움] 039 Flask URL Route

이상민·2021년 2월 2일
0

[오늘의 배움]

목록 보기
42/70
post-thumbnail

Flask URL Route Registration

라우팅 시스템을 위한 룰을 정의하는 법. 주어진 URL 룰에 view 함수를 등록한다.

  1. route()
  2. add_url_rule()
  3. url_map
@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 에러가 발생한다.

profile
편하게 읽기 좋은 단위의 포스트를 추구하는 개발자입니다

0개의 댓글