Встречается на собеседованиях • сегодня

Какие знаешь способы роутинга в DRF

В Django REST Framework (DRF) есть несколько способов роутинга:

  1. Ручной роутинг через urlpatterns
    Прописываем URL-пути вручную в urls.py:

    python
    from django.urls import path
    from .views import MyView
    
    urlpatterns = [
        path('api/myview/', MyView.as_view()),
    ]
  2. DefaultRouter
    Автоматически генерирует URL для ViewSets:

    python
    from rest_framework.routers import DefaultRouter
    from .views import MyViewSet
    

router = DefaultRouter()
router.register('myview', MyViewSet)

urlpatterns = router.urls

text

3. **`SimpleRouter`**  
Упрощённая версия `DefaultRouter` без дополнительных URL (например, `.json`).

4. **`@action` декоратор**  
Добавляет кастомные эндпоинты к ViewSet:
```python
class MyViewSet(viewsets.ModelViewSet):
    @action(detail=True, methods=['post'])
    def custom_action(self, request, pk=None):
        ...
  1. Сторонние библиотеки
    Например, drf-nested-routers для вложенных роутов.

Выбор зависит от сложности API: для простых проектов хватит ручного роутинга, для RESTful API удобнее DefaultRouter.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы