반응형
URL 패턴에 정규표현식을 사용하면 더 복잡한 URL을 표현할 수 있다.
from django.urls import path, re_path
from . import views
urlpatterns = [
path('articles/2003', views.special_case_2003),
re_path(r'^articles/(?P<year>[0-9]{4})/$', views.year_archieve),
re_path(r'^articles/(?P<year>[0-9]{4}/(?P<month>[0-9]{2}/$', views.month_archieve),
re_path(r'^articles/(?P<year>[0-9]{4}/(?P<month>[0-9]{2}/(?P<slug>[\w-]+/$', views.article_detail),
]
정규표현식에 사용되는 문자의 의미는 다음과 같다.
. (Dot) | 모든 문자 하나(any single character) |
^ (Caret) | 문자열의 시작 |
$ | 문자열의 끝 |
[ ] | [ ]괄호에 있는 문자하나. 예를 들어 [akz]면 a or k or z. |
[^ ] | [ ]괄호에 있는 문자 이외의 문자 하나. 예를 들어 [^ab]이면 a와 b 를 제외한 문자 하나. |
* | 0번 이상 반복. {0,}과 동일 |
+ | 1번 이상 반복. {1,}과 도일 |
? | 0번 또는 1번 반복. {0,1}과 동일 |
{n} | n번 반복 |
{m,n} | 최소 m번에서 최대 n번까지 반복 |
| | OR. 예를 들어 A|B 면 A 또는 B |
[a-z] | a에서 z까지 임의의 문자. 즉 영문 소문자 한 개 |
\w | 영문, 숫자 또는 밑줄(_) 한개. [0-9a-zA-Z_]과 동일 |
\d | 숫자 한 개. [0-9]와 동일 |
반응형
'파이썬' 카테고리의 다른 글
MVT - Models 내용 (0) | 2020.09.19 |
---|---|
프로젝트 생성전 = 뼈대 디렉토리 및 파일에 대한 설명 (0) | 2020.09.19 |
애플리케이션 설게하기 - PK와 FK (0) | 2020.09.19 |
Template 화면 UI 정의 (0) | 2020.09.18 |
Django's MTV pattern 과 코딩 순서 (0) | 2020.09.13 |
간단 wsgi server 까지 (0) | 2020.09.12 |
my_HTTPServer / python -m http.server 8888/ cgi 서버 (0) | 2020.09.12 |
http.client 모듈 예제 download-image from google (0) | 2020.09.10 |