urls.py는 메인 프로젝트인 app 폴더 하위에 있습니다. URL을 먼저 작성한 뒤, View 파트를 이어서 작성해보도록 하겠습니다.
blog
의 View의 create, detail, update, delete 뷰와 함께 연결될 URL을 추가해야 합니다.
먼저, FBV로 작성된 view에 대응하는 urls.py부터 작성해보도록 하겠습니다.
# blog/urls.py
from django.urls import path
from . import views
app_name = 'blog'
urlpatterns = [
path('', views.post_list, name='list'),
path('create/', views.post_create, name='create'),
path('<int:pk>/', views.post_detail, name='detail'),
path('update/<int:pk>/', views.post_update, name='update'),
path('delete/<int:pk>/', views.post_delete, name='delete'),
]
URL은 각 함수들의 이름과 함께 매칭할 수 있습니다.
이번에는 CBV로 작성된 view에 대응하는 urls.py을 작성해보도록 하겠습니다.
# blog/urls.py
from django.urls import path
from blog.views import PostListView, PostCreateView, PostDetailView, PostUpdateView, PostDeleteView
app_name = 'blog'
urlpatterns = [
path('', PostListView.as_view(), name='list'),
path('create', PostCreateView.as_view(), name='create'),
path('<int:pk>/',PostDetailView.as_view(), name='detail'),
path('update/<int:pk>/', PostUpdateView.as_view(), name='update'),
path('delete/<int:pk>/', PostDeleteView.as_view(), name='delete')
]
CBV의 경우 클래스 이름으로 뷰를 연결시켜주는 것은 FBV와 같지만 뒤에 .as_view()를 붙여주어야 합니다.