viewset url 등록

@hongo · May 16, 2022 · 1 min read

Viewset url등록

  • 메소드별로 수동으로 지정
  • router 사용

메소드별로 수동 지정

  • as_view에 인자를 넣어 설정한다

urls.py

from . import views

tutor_list = views.TutorVideoViewSet.as_view({'get' : 'list'})
# get 요청이 오면 viewset의 list함수 실행

tutor_detail = views.TutorVideoViewSet.as_view({'get':'retrieve'})
# get 요청이 오면 view set의 retrieve 함수 실행

urlpatterns = [
    path('tutor/', tutor_list, name = 'tutor_list'),
    path('tutor/<int:pk>/', tutor_detail, name = 'tutor_detail')
]

이처럼 메소드별로 수동으로 지정할 수 있다

viewset에서 제공하는 기능

  • create
  • retrieve
  • update
  • partial_update
  • destroy
  • list

router 사용

from rest_framework import routers

router = routers.DefaultRouter()
router.register('dancing',views.TutorVideoViewSet)
router.register('practice',views.TuteeVideoViewSet)

urlpatterns = [
    path('',include(router.urls)),
]
  • TutorVideoViewSet의 url은 ~/dancing으로 연결된다
  • TuteeVideoViewSet의 url은 ~/practice로 연결된다
@hongo
홍고 블로그