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은 어떻게 연결될까?