Performance: ViewSets and routers
MEDIUM IMPACT
This affects server response time and client load speed by simplifying URL routing and reducing redundant code.
from rest_framework.routers import DefaultRouter from .views import BookViewSet router = DefaultRouter() router.register(r'books', BookViewSet) urlpatterns = router.urls
from django.urls import path from .views import BookList, BookDetail urlpatterns = [ path('books/', BookList.as_view()), path('books/<int:pk>/', BookDetail.as_view()), ]
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Manual URL patterns with separate views | N/A (server-side) | N/A | N/A | [X] Bad |
| ViewSets with routers | N/A (server-side) | N/A | N/A | [OK] Good |