반응형

 

1. Routing?

-. 웹페이지는 "홈페이지주소/섹션/포스트" 순서로 이루어진 것들이 많다. (ex. 디씨의 경우 dcinside.com/갤러리/board(섹션)/갤러리명/글번호) 주소 사이사이 기호에 미묘한 차이 ('/'냐, '?'이냐)가 있는데 무시하자. (semantic url)

-. 도메인에서 하부 url로 이동하는걸 라우팅이라고 하는 것... 같은데, 정확한 정의는 나같은 아마추어 늅늅이는 알기 힘든 개념같다. 

-. 공부해서 추가할 것.

2. 사용 방법

-. 라우트는 매우 간단하게 설정 가능하다. Flask 설명서를 따라서 작성한다. 아래 코드를 추가해주면

@app.route('/post')
def show_post():
    return "route test: post section"

-. 아래와 같이 /post 주소에 들어가면 포스트 라우트에 대한 글이 보인다.

<route 예제 1>

3. 라우트에 변수 사용

-. 게시판 등을 만들면 '글 번호' 혹은 '계정'에 따라 다른 내용을 보여줘야 한다. 그 경우 쓸 수 있는 기능으로, 다양한 url 경로에 따라 다른 결과를 출력할 수 있는 기능을 제공한다.

@app.route("/post/<post_id>")
def show_post(post_id):
    return "postID: %s" % post_id

@app.route("/user/<string:user_id>")
def show_user_profile(user_id):
    return "userID: %s " % user_id

-. 기본적으로 시맨틱 링크로 작성하게 되어있고, url의 특정 부분에 대해 int(정수), float(실수), path ('/' 포함가능), string(문자열) 등의 변수로 받아들이게 된다.

<route 예제 2: 변수사용>

4. 라우트 주소 서식

-. 플라스크 문서 하단에 "유일한 URL"이란 항목이 있다. Route 끝단에 슬래시('/')문자 추가 여부에 대한 것인데, /post/ 라우트에서는 /post를 인식해서 자동으로 /post/로 바꿔주지만, /post 라우트가 있을때 /post/를 입력하면 404 페이지가 뜬다.

-. '/post' route를 먼저 생성해두면 /post와 /post/가 구분되어 작동할 줄 알았는데 안된다..?

@app.route('/post')
def show_post():
    return "route test: post"

@app.route('/post/')
def show_post2():
    return "route test: /post/"

 

<route 예제3: /post와 /post/의 차이>

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기