- 아래 내용은 django 문서를 필요한 요약 번역입니다.
1. Django의 request process
- 요청을 받으면 Url설정 모듈을
settgins.py
설정파일의ROOT_URLCONF
값을 통해 찾습니다. - 하지만 request 받을 때 HttpRequest 속성에 urlconf
속성이 있다면
ROOT_URLCONF
값을 무시하고 urlconf 값으로 대체합니다. - Django는
urlpatterns
변수를 찾습니다.django.urls.path()
또는django.urls.re_path()
객체로 이루어진 파이썬 리스트여야합니다.
- Django는 각 URL 패턴을 순서대로 실행하고 요청된 URL과 일치하는 첫번째 패턴에서 멈춥니다.
- 첫번째로 URL 패턴이 매치되면, Django는 함수 또는 class-based-view
로 이루어진 view를 호출하며 아래의 인자를 전달합니다.
- HttpRequest객체
- 위치 인자 제공
re_path(r'^position/(010[1-9]\d{7})$', views.get_cellphone)
- 키워드 인자 제공
path('<username>/', views.get_list_by_user)
re_path(r'^keword/(?P<cellphone>010[1-9]\d{7})$', views.get_cellphone),
- Url이 일치하지 않거나 프로세스 도중 에러 발생 시, 오류 페이지 호출