장고 URL 정리

개발자 강세영·2022년 5월 8일
0

TIL

목록 보기
20/70

urls.py 파일의 역할

클라이언트가 웹서버의 하위 url에 접속할때 무엇을 보여줄것인지(views) 정의하는 파일이다.

장고의 URL path 함수의 매개변수 설명

from django.urls import include, path
from products.views import ProductsView

urlpatterns = [
    path('index/', views.index, name='main-view'),
    path('bio/<username>/', views.bio, name='bio'),
    path('articles/<slug:title>/', views.article, name='article-detail'),
    path('articles/<slug:title>/<int:section>/', views.section, name='article-section'),
    path('blog/', include('blog.urls')),
    path('products/', ProductsView.as_view()),
    ...
]

path 함수의 기본 구성
path(route, view, kwargs=None, name=None)

  • route, view는 반드시 정해줘야 하고 뒤에 두개는 옵션이다
  • route는 문자열이나 gettext_lazy() 만 가능하다
  • view는 FBV는 views.함수명 형식이고 CBV는 클래스명.as_view()를 쓴다
  • kwargs는 딕셔너리 형태로 입력해서 추가적인 정보를 전달하는 용도로 쓰일 수 있다
  • name은 URL별로 변수를 만들어 활용하는 경우에 사용한다
  • route가 빈 따옴표면 root url을 의미한다
  • include()는 다른 app의 urls.py를 연결해주는 역할이다
  • 위 예시에서 루트URL/blog/로 접속하면 blogs앱의 urls.py에 있는 내용을 적용한다는 의미이다

re_path(route, view, kwargs=None, name=None)

  • re_path()는 path()와 비슷하지만 route에 정규 표현식을 활용할 수 있다.

0개의 댓글