Performance: Why views handle request logic
MEDIUM IMPACT
This affects server response time and how quickly the browser receives the HTML to start rendering.
def view(request): data = get_cached_data() # Cached or preprocessed data return render(request, 'template.html', {'data': data})
def view(request): # Heavy logic and database queries inside the view data = [] for i in range(1000): data.append(expensive_db_call(i)) return render(request, 'template.html', {'data': data})
| Pattern | Server Processing Time | Network Delay | Browser Render Start | Verdict |
|---|---|---|---|---|
| Heavy logic in view | High (many DB calls) | Normal | Delayed | [X] Bad |
| Lean view with caching | Low (cached data) | Normal | Fast | [OK] Good |