Расскажи про основные базовые классы, которые используешь в Django REST framework

Python Junior Без компании
Расскажи про основные базовые классы, которые используешь в Django REST framework
Ответы
Django REST framework (DRF) предоставляет несколько ключевых базовых классов для создания API: - **APIView** – базовый класс для представлений, аналогичен Django View, но добавляет REST-специфичные методы (get, post, put, delete и т.д.). ``` from rest_framework.views import APIView from rest_framework.response import Response class ExampleView(APIView): def get(self, request): return Response({"message": "Hello, DRF!"}) ``` - **GenericAPIView** – расширяет APIView, добавляя общие методы для работы с моделями (queryset, serializer_class). - **Mixins** (ListModelMixin, CreateModelMixin и др.) – предоставляют стандартные действия (list, create, retrieve, update, delete). Используются вместе с GenericAPIView. - **ViewSets** (ModelViewSet, ReadOnlyModelViewSet) – объединяют логику нескольких действий в одном классе. ``` from rest_framework.viewsets import ModelViewSet from .models import Book from .serializers import BookSerializer class BookViewSet(ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer ``` - **Serializer** (ModelSerializer) – для валидации и преобразования данных. Эти классы позволяют быстро создавать CRUD-эндпоинты с минимальным кодом.