URL dispatcher

정은경·2020년 7월 9일
0

🎸 Play the Django 

목록 보기
2/57

사용자의 request를 장고가 실행하는 알고리즘:

  1. 사용한 "root URLconf" 모듈을 정한다. (settings.py의 ROOT_URLCONF 변수에서 해당 프로젝트의 최상단의 url 정보파일이 있는 파일명을 명시해준다.)
  2. 장고는 "root URLconf" 파일을 불러들여(로드), 파일 안의 urlpatterns 변수를 찾는다. (django.urls.path(), django.urls.re_path())
  3. 사용자의 request는 장고의 HttpRequest라는 인스턴스로 전달이 됨. HttpRequest 인스턴스의 속성에는 "path_info"가 있음(HttpRequest.path_info)


    "2번"에서 확인한 urlpatterns 안에 있는 url과 일치하는 지 찾는다.

  4. 한번 url패턴이 일치하면, 장고는 url패턴과 매칭된 뷰/함수 등을 실행시킨다.

  5. 만약 어떠한 팬턴과도 일치하지 않으면, 예외가 발생한다.

예시들:


URLconf는 url만 찾는다. method는 고려하지 않는다.

The URLconf doesn’t look at the request method. In other words, all request methods – POST, GET, HEAD, etc. – will be routed to the same function for the same URL.


Reference

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글