티스토리 뷰

Django

django url routing

daylee de vel 2021. 7. 14. 22:30

클라이언트에게 request를 받았을 때 장고 앱 내부에서 일어나는 일련의 과정

경로와 내부 로직을 매칭시켜나가는 과정

 

1. settings.py에서 시작

settings.py의 ROOT_URLCONF = 'tutorial_hub_project.urls' 에서 장고가 url을 보고 가장 먼저 봐야할 파일을 프로젝트의 urls로 가라고 자동으로 지정해둠.

 

2. 프로젝트 urls.py 에서 매치되는 패턴이 있는지 확인함

urlpatterns = [ path('', include('hub.urls')), 

만약 url의 구조가 domain/hub/index 였다면 이번에는 hub까지는 매칭이 됨.

따라서 hub 앱으로 가서 urls.py를 보러감

 

3. 앱 urls.py에서 매치되는 패턴 확인

index/와 매치되는 뷰인 views.HomeView를 확인

urlpatterns = \[ path('index/', views.HomeView, name='home'),

 

4. 앱의 views.py의 함수 실행

def HomeView(request):
	~
	return render(request, 'index.html', context=context)

 

출처: 코드잇 장고 15. url은 어떻게 연결될까?

댓글