Django REST Framework
Django REST Framework (DRF) — это мощная и гибкая библиотека для создания REST API в Django приложениях.
Основные компоненты DRF
- Serializers — преобразование данных между Python объектами и JSON
- Views — обработка HTTP запросов (APIView, ViewSets)
- Routers — автоматическое создание URL маршрутов
- Authentication — различные способы аутентификации
- Permissions — система прав доступа
Типы представлений
- APIView — базовый класс для API представлений
- GenericAPIView — обобщенные представления
- ViewSets — наборы представлений для CRUD операций
- ModelViewSet — полный CRUD для моделей
Пример создания API
Установка DRF
Аутентификация в DRF
- TokenAuthentication — аутентификация по токену
- SessionAuthentication — сессии Django
- BasicAuthentication — базовая HTTP аутентификация
- JWT — JSON Web Tokens (через сторонние пакеты)
FAQ
Когда использовать ViewSets вместо APIView?
ViewSets лучше для стандартных CRUD операций, APIView — для кастомной логики.