Performance: Handling different HTTP methods
MEDIUM IMPACT
This affects server response time and client perceived interaction speed by how efficiently the server processes different HTTP methods.
from django.views.decorators.http import require_http_methods @require_http_methods(["GET", "POST"]) def my_view(request): if request.method == 'GET': data = cached_db_query() return HttpResponse(data) elif request.method == 'POST': data = cached_db_query() return HttpResponse(data)
def my_view(request): if request.method == 'GET': # process GET data = expensive_db_query() return HttpResponse(data) elif request.method == 'POST': # process POST data = expensive_db_query() return HttpResponse(data) else: return HttpResponseNotAllowed(['GET', 'POST'])
| Pattern | Server Processing | Network Delay | Client Responsiveness | Verdict |
|---|---|---|---|---|
| Repeated expensive queries per method | High CPU and DB load | Longer wait | Slower INP | [X] Bad |
| Method decorators with caching | Reduced CPU and DB load | Shorter wait | Faster INP | [OK] Good |