Mediumdrf
Что такое Django REST Framework (DRF)?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
DRF — библиотека для построения REST API на Django. Основные компоненты: Serializers, ViewSets, Routers, Authentication, Permissions, Pagination, Throttling.
from rest_framework import serializers, viewsets, routers
from rest_framework.permissions import IsAuthenticated
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'name', 'email']
class UserViewSet(viewsets.ModelViewSet): # CRUD из коробки
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = [IsAuthenticated]
# Routers — auto URL generation
router = routers.DefaultRouter()
router.register('users', UserViewSet)
urlpatterns = router.urls- Authentication: TokenAuthentication, JWTAuthentication (simplejwt);
- Pagination: PageNumberPagination, CursorPagination;
- Throttling — rate limiting; Filtering, Search, Ordering;
- Генерирует browsable API (HTML), content negotiation (JSON, ...);
- Альтернатива: django-ninja (FastAPI-like API на type hints).
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.