Django URL

Andromeda_Galaxy·2024년 5월 19일

Django

목록 보기
4/12

URLconf (urls.py)

  • Django에서 URL을 처리하기 위해서는 URLconf 모듈 즉 urls.py를 작성
# urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('URL', views.view)
]

URL 처리 순서

  • 요청이 들어오면 Django는 맨 처음 사용할 URLConf 모듈을 찾음
  • 변경하지 않았다면 프로젝트 앱 내 settings.py의 ROOT_URLCONF 설정을 사용
  • ROOT_URLconf로 정의된 URLConf 모듈을 보고 urlpatterns 리스트 안쪽의 django.urls.path() 함수를 순서대로 실행
  • 요청과 일치하는 URL 패턴이 있다면 django.urls.path() 함수에 따라 view를 호출하거나, 일치하는 URL 패턴 다음의 URL을 하위 URLconf 모듈로 넘김
from django.urls import path
from django.urls import include
from . import views

urlpatterns = [
    path('music/', views.player),
    path('video/', include('videoApp.urls')),
    # URL이 '~/video/lecture/django' 라면
    # videoApp의 URLconf에는 'lecture/django'가 넘어갑니다.
]

path 함수

django.urls.path
path(route, view, kwargs=None, name=None)

route

  • URL 문자열을 인수로 받으며 경로 변수(Path Converter)를 사용하여 URL의 일부를 view의 인수로 보낼 수 있음

Path converters

  • Django에서 기본으로 제공하는 경로 변환기 이하 경로 변수는 5가지가 있음

view

  • 함수형 view 또는 클래스 기반 view가 들어갈 수 있음
  • include를 사용해서 다른 URLconf 모듈로 연결할 수도 있음

kwargs

  • view에 추가 인자를 전달 할 때 사용

name

  • path 함수가 가지는 URL 패턴에 이름을 붙여 주기 위해 사용
  • URL을 직접 템플릿에 적지 않게 해주고 URL을 직관적으로 참조할 수 있게 해줌

공식문서

profile
안녕하세요.

0개의 댓글