티스토리 뷰
URL Dispatcher
- HTTP request가 들어올 때마다, 등록된 urlpatterns 상의 매핑 리스트를 처음부터 순차적으로 훝으며 URL 매칭을 한다
- 매칭되는 URL Rule이 다수 존재해도 처음 매칭되는 Rule 만을 사용한다.
- 매칭되는 URL Rule이 없을 경우 404(Page Not Found) Error 응답을 발생한다.
Django.conf.urls.url() (Django 1.x 버전)
- Django 1.x 버전의 url() 메소드가 regex 사용을 위한 re_path()가 되고, path가 추가되었다.
Django.urls.path()
- 기본 지원되는 Path converters를 통해 정규표현식 기입이 간소화되었다.
urlpatterns 예시
- Django 1.x Version : url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)
r : raw를 의미하며 \를 사용할 때 escape로 \\ 할 필요 없이 \을 directory 검색을 할 수 있는 문자로 볼 수 있게 해주는 Python 기본 기능이다.
?P : python 정규표현식 기본 문법
<year> : < > 안에 들어있는 문자를 변수이름으로해서 정규표현식 내용을 views.- 에 넘기겠다.
- Django 2.x 이후 Version : path('articles/<int:year>/', views.year_archive)
<int:year> : url의 이 부분에 해당하는 값을 int형의 year란 이름의 변수로 받아 views.- 에 넘기겠다.
cf) 2.x 이후 Version에서도 기존과 같이 정규표현식을 사용할 수 있다 : re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)
마무리
- 프로젝트 진행이 자주 있다면 Custom Path Converter를 만들어 사용할 수 있다.
'Web > Python | Django' 카테고리의 다른 글
{{ Django }} - Ruby on Rails와의 비교 (0) | 2020.11.10 |
---|---|
{{ Django }} - AJAX in Django (0) | 2020.11.06 |
{{ Django }} - Slicing in django templates (0) | 2020.10.15 |
{{ Django }} - Request_Response Cycle (0) | 2020.09.29 |
{{ Django }} - Model Manager (0) | 2020.09.28 |
- Total
- Today
- Yesterday
- Triangle#Sorting#Codility#Python
- 섬의개수#백준알고리즘#Python
- 반복수열#백준알고리즘#Python
- 배열합치기#분할정복#BOJ#Python
- 토마토#백준알고리즘#Python
- 백준 알고리즘#BackTracking
- django
- 공유기 설치#BOJ#이분탐색#Python
- 미로 탐색#백준알고리즘#Python
- API#lazy#
- Distinct#Codility#Python
- 랜선자르기#이분탐색#BOJ#Python
- N으로 표현#DP#Programmers#Python
- django#slicing
- 종이자르기#분할정복#BOJ#Python
- 날짜 계산#BOJ#완전탐색#Python
- 텀 프로젝트#백준알고리즘#Python
- PassingCars#Codility#Python
- Brackets#Stacks and Queues#Codility#Python
- filter#isalnum#lower
- Swift#Tuples#Range
- NumberofDiscIntersections#Codility#Sort#Python
- 리모컨#완전탐색#BOJ#Python
- 병든 나이트#BOJ#탐욕법#Python
- 순열사이클#BOJ#Python
- 암호코드#dp#BOJ#Python
- 쿼드트리#BOJ#분할정복#Python
- 터틀비치#리콘#xbox#controller
- 파이썬알고리즘인터뷰#4장
- 나무자르기#BOJ#이분탐색#Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |