Performance: Function-based vs class-based decision
MEDIUM IMPACT
This affects server response time and how efficiently Django processes requests, impacting page load speed.
from django.views import View from django.http import HttpResponse class MyView(View): def get(self, request): return HttpResponse('Hello')
from django.http import HttpResponse, HttpResponseNotAllowed def my_view(request): if request.method == 'GET': return HttpResponse('Hello') else: return HttpResponseNotAllowed(['GET'])
| Pattern | Code Complexity | Conditional Checks | Method Dispatch Overhead | Verdict |
|---|---|---|---|---|
| Function-based view (simple) | Low | Manual checks per method | None | [OK] Good |
| Function-based view (complex) | High | Multiple manual checks | None | [!] OK |
| Class-based view (simple) | Medium | Automatic dispatch | Small overhead | [!] OK |
| Class-based view (complex) | Low (reusable) | Automatic dispatch | Small overhead | [OK] Good |