Performance: How Django processes a request (URL → View → Template)
MEDIUM IMPACT
This concept affects the server response time and how quickly the browser receives the rendered HTML.
urls.py: from django.urls import path from . import views urlpatterns = [ path('profile/<int:user_id>/', views.profile_view), ] views.py: from django.shortcuts import render from .models import User, Post def profile_view(request, user_id): user = User.objects.get(id=user_id) posts = Post.objects.filter(user_id=user_id) # Fetch only relevant posts return render(request, 'profile.html', {'user': user, 'posts': posts})
urls.py: from django.urls import path from . import views urlpatterns = [ path('profile/<int:user_id>/', views.profile_view), ] views.py: from django.shortcuts import render from .models import User, Post def profile_view(request, user_id): user = User.objects.get(id=user_id) posts = Post.objects.all() # Fetching all posts unnecessarily return render(request, 'profile.html', {'user': user, 'posts': posts})
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Fetching all posts in view | N/A (server-side) | N/A | N/A | [X] Bad |
| Filtering posts by user in view | N/A (server-side) | N/A | N/A | [OK] Good |