Какие знаешь компоненты Django REST framework

Python Junior Без компании
Какие знаешь компоненты Django REST framework
Ответы
Django REST framework (DRF) предоставляет множество компонентов для создания RESTful API. Основные из них: - **Serializers** – преобразуют сложные типы данных (например, модели Django) в JSON/XML и обратно. ``` class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'email'] ``` - **Views** – аналоги Django-представлений, но для API. - `APIView` – базовый класс для кастомной логики. - `ViewSet` и `ModelViewSet` – для CRUD операций с моделями. - **Routers** – автоматически генерируют URL-маршруты для `ViewSet`. ``` router = routers.DefaultRouter() router.register(r'users', UserViewSet) ``` - **Authentication & Permissions** – управление доступом (Token, JWT, SessionAuth и др.). - **Pagination** – разбивка данных на страницы (`PageNumberPagination`, `LimitOffsetPagination`). - **Throttling** – ограничение частоты запросов. - **Filtering & Search** – `DjangoFilterBackend`, `SearchFilter` для фильтрации данных. - **Parsers & Renderers** – обработка входящих/исходящих данных (JSON, XML, FormData). - **Versioning** – управление версиями API. - **Testing** – `APIClient`, `APITestCase` для тестирования. DRF гибкий и расширяемый, что делает его популярным для создания API.