ViewSets

지니🧸·2023년 9월 6일
0

Django REST

목록 보기
5/5

ViewSets

ViewSet - 관련있는 뷰의 로직을 하나의 클래스로 표현

  • 클래스 뷰의 종류
  • .list() & .create()
  • 예시
from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404
from myapps.serializers import UserSerializer
from rest_framework import viewsets
from rest_framework.response import Response

class UserViewSet(viewsets.ViewSet):
    """
    A simple ViewSet for listing or retrieving users.
    """
    def list(self, request):
        queryset = User.objects.all()
        serializer = UserSerializer(queryset, many=True)
        return Response(serializer.data)

    def retrieve(self, request, pk=None):
        queryset = User.objects.all()
        user = get_object_or_404(queryset, pk=pk)
        serializer = UserSerializer(user)
        return Response(serializer.data)
  • 하나의 viewset을 두개의 분리된 뷰로 바인딩하기
user_list = UserViewSet.as_view({'get': 'list'})
user_detail = UserViewSet.as_view({'get': 'retrieve'})
profile
우당탕탕

0개의 댓글