Message d'erreur ou informatif dans le HTML avec Django

Published: 16 juillet 2014

DMCA.com Protection Status

Avec Django il est possible de mettre automatiquement des messagesd'erreurs/informatifs dans le template html. Considérons un exemple simple: on souhaite mettre un message dans le html si quelque chose ne s'est pas bien passé en voulant afficher la page. Pour cela, dans le fichier views.py il suffit d'ajouter, au minimum, les quelques lignes suivantes:

Figure 1: Message d'erreur ou informatif dans le HTML avec Django (1/2)
Figure 1: Message d'erreur ou informatif dans le HTML avec Django (1/2)

Figure 2: Message d'erreur ou informatif dans le HTML avec Django (1/2)
Figure 2: Message d'erreur ou informatif dans le HTML avec Django (1/2)

from django.contrib import messages

def MyView(request):
    messages.add_message(request, messages.INFO, 'Sorry, something went wrong !')
    return render_to_response("MyApp/MyTemplate.html", context_instance=RequestContext(request))

Puis dans le template html (ici intitulé MyTemplate.html):

<!DOCTYPE html>

<html>
<body>

{% if messages %}
  {% for message in messages %}
    {{ message }} <br>
  {% endfor %}
{% endif %}


</body>
</html>

Ce qui va donner comme résultat quelque chose ressemblant à la figure 1. On peut aussi ajouter d'autres messages comme ceci (figure 2):

from django.contrib import messages


def MyView(request):
    messages.add_message(request, messages.INFO, 'Sorry, something went wrong !')
    messages.add_message(request, messages.INFO, 'Sorry, something went wrong again !')
    messages.add_message(request, messages.INFO, 'Sorry, something went wrong again !!!!')
    return render_to_response("MyApp/MyTemplate.html", context_instance=RequestContext(request))

Recherches associées

Image

of