당신은 멋쟁이, 우리는 장고쟁이~

0%

DRF-Tutorial-35편- Router 사용하기

Using Routers


우리는 View 클래스들 대신에 ViewSet 클래스들을 사용하고 있기 때문에, 우리는 사실 우리 스스로 URL Conf 를 딪인해줄 필요가 없습니다.


관례적으로, 리소스들을 views 와 urls 에 묶어주는것은 Router 를 사용함으로써 자동으로 다루어 지게 할수 있습니다. 우리가 해야할것은, 적절한 뷰 세트들을 router 에 등록해 주는것입니다.


snippets/urls.py 파일을 아래와 같이 수정해 줍시다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from django.urls import path, include 
from rest_framework.routers import DefaultRouter
from snippets import views

# create a router and register our viewsets with it

router = DefaultRouter()
router.register(r'snippets', views.SnippetViewSet)
router.register(r'users', views.UserViewSet)

# The API URLs are now determined automatically by the router

urlpatterns = [
path('', include(router.urls)),
]

뷰셋들을 라우터와 등록해주는것은 urlpattern 을 제공해주는것과 비슷합니다.


우리는 두개의 인자를 포함해 줍니다 - 뷰를 위한 URL prefix 와 뷰셋 그자체.


우리가 사용하는 DefaultRour 클래스는 자동으로 API root 뷰를 생성해줍니다. 따라서, 우리는 api_root 메서드를 우리 view 모듈에서 지워줄수 있습니다.