OUJOOD.COM
Quand un utilisateur remplit un formulaire ou supprime un commentaire, il s'attend à une confirmation. Rien n'est plus frustrant qu'une page qui se recharge sans dire si l'action a réussi ou échoué. Django règle ce problème avec son framework de messages, qui permet de stocker une notification temporaire et de l'afficher juste après une redirection.
Les différents niveaux de messages
Django classe les messages par importance. Cela vous permet d'adapter le style visuel (couleur de l'alerte) selon la situation :
- SUCCESS : Pour confirmer une action réussie (ex: "Profil mis à jour").
- INFO : Pour une information informative neutre.
- WARNING : Pour prévenir d'un risque potentiel.
- ERROR : Pour signaler un échec ou une erreur critique.
Ajouter un message dans une vue
L'utilisation est extrêmement simple. Il suffit d'importer le module et d'appeler la méthode correspondant au niveau souhaité. Le message est alors mis en file d'attente pour la prochaine page qui sera affichée à l'utilisateur.
from django.contrib import messages
from django.shortcuts import redirect
def modifier_profil(request):
# ... logique de modification
messages.success(request, "Votre profil a été enregistré avec succès !")
return redirect('accueil')
Affichage dans le template
C'est l'étape où beaucoup de débutants bloquent. Comme vous pouvez envoyer plusieurs messages à la fois, Django les traite comme une liste. Je vous suggère de placer ce bloc de code dans votre template de base (base.html) pour que les alertes puissent apparaître sur n'importe quelle page du site.
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li class="{{ message.tags }}">{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
L'attribut message.tags renvoie automatiquement le niveau du message (success, error, etc.), ce qui est parfait pour appliquer des classes CSS Bootstrap ou Tailwind sans effort supplémentaire.
Une fois que votre application communique bien avec ses utilisateurs, il est temps de s'assurer qu'elle ne contient pas de bugs cachés. Pour cela, nous allons passer à une étape indispensable : l'introduction aux tests Django.
Par carabde | Mis à jour le 08/05/2026