Performance: Messages framework for flash messages
This affects page load speed by adding small server-generated messages that appear once and then disappear, impacting initial HTML size and rendering.
Jump into concepts and practice - no test required
In template: {% if messages %} <div aria-live="polite" role="alert">{{ messages.0 }}</div> {% endif %}In template: {% if messages %} <ul>{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul> {% endif %}| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Rendering many flash messages as list items | Multiple nodes added | Multiple reflows per message | High paint cost due to layout shifts | [X] Bad |
| Rendering single flash message with ARIA alert | Single node added | Single reflow | Low paint cost, stable layout | [OK] Good |
messages framework?messages.success(request, message) to add messages easily.from django.contrib import messages
def my_view(request):
messages.error(request, 'Error occurred')
messages.info(request, 'Information message')
return render(request, 'template.html')from django.contrib import messages
def my_view(request):
messages.error('Error occurred')
return render(request, 'template.html')messages.success(request, message) to add a success-level message.redirect('home') to send the user to the homepage, ensuring the message appears on the next page load.