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

Python Senior Без компании
Какие знаешь способы роутинга в DRF
Ответы
В Django REST Framework (DRF) есть несколько способов роутинга: - **Ручной роутинг через `urlpatterns`** Прописываем URL-пути вручную в `urls.py`: ``` from django.urls import path from .views import MyView urlpatterns = [ path('api/myview/', MyView.as_view()), ] ``` - **`DefaultRouter`** Автоматически генерирует URL для ViewSets: ``` from rest_framework.routers import DefaultRouter from .views import MyViewSet router = DefaultRouter() router.register('myview', MyViewSet) urlpatterns = router.urls ``` - **`SimpleRouter`** Упрощённая версия `DefaultRouter` без дополнительных URL (например, `.json`). - **`@action` декоратор** Добавляет кастомные эндпоинты к ViewSet: ``` class MyViewSet(viewsets.ModelViewSet): @action(detail=True, methods=['post']) def custom_action(self, request, pk=None): ... ``` - **Сторонние библиотеки** Например, `drf-nested-routers` для вложенных роутов. Выбор зависит от сложности API: для простых проектов хватит ручного роутинга, для RESTful API удобнее `DefaultRouter`.