Какие знаешь компоненты 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.