1. Routing?
-. 웹페이지는 "홈페이지주소/섹션/포스트" 순서로 이루어진 것들이 많다. (ex. 디씨의 경우 dcinside.com/갤러리/board(섹션)/갤러리명/글번호) 주소 사이사이 기호에 미묘한 차이 ('/'냐, '?'이냐)가 있는데 무시하자. (semantic url)
-. 도메인에서 하부 url로 이동하는걸 라우팅이라고 하는 것... 같은데, 정확한 정의는 나같은 아마추어 늅늅이는 알기 힘든 개념같다.
-. 공부해서 추가할 것.
2. 사용 방법
-. 라우트는 매우 간단하게 설정 가능하다. Flask 설명서를 따라서 작성한다. 아래 코드를 추가해주면
@app.route('/post')
def show_post():
return "route test: post section"
-. 아래와 같이 /post 주소에 들어가면 포스트 라우트에 대한 글이 보인다.
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(문자열) 등의 변수로 받아들이게 된다.
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/"
'python > Flask' 카테고리의 다른 글
[python] Flask - ORM 사용 SQLite 연동 - 파이썬은 날먹 (0) | 2021.02.21 |
---|---|
[python] Flask - 모듈화, Blueprint 청사진 (0) | 2021.02.20 |
[Python] Flask - 주식차트 그리기 및 삽입 - 파이썬은 날먹 (2) | 2021.02.16 |
[Python] Flask + Jinja - 파이썬은 날먹 (0) | 2021.02.15 |
[Python] Flask - 웹서버 열기 - 파이썬은 날먹 (0) | 2021.02.09 |
최근댓글