Spécifie la façon d'espace blanc dans un élément est traité
Cet article porte sur l'utilisation de la balise if dans les templates. La balise {% if %} évalue une variable.
Si cette variable est vraie. (c'est-à-dire qu'elle existe, qu'elle n'est pas vide et qu'elle n'est pas une valeur booléenne false), le contenu du bloc est exécuté.
{% if variable %} // instructions {% elif %} // instructions {% else %} // instructions {% endif %}
Fichier testes/template.html Copier le code
<!DOCTYPE html> <html> <body> {% if ma_variable == 1 %} <h1>Bonjour</h1> {% endif %} <p>Dans le fichier views.py, vous pouvez voir à quoi
ressemble la variable ma_variable.</p> </body> </html>
Fichier testes/views.py Copier le code
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'ma_variable': 1, } return HttpResponse(template.render(context, request))
Fichier testes/template.html Copier le code
<!DOCTYPE html> <html> <body> {% if ma_variable == 1 %} <h1>Bonjour</h1> {% elif ma_variable == 2 %} <h1>Bienvenue sur le site </h1> {% endif %} <p>Dans le fichier views.py, vous pouvez voir à quoi
ressemble la variable ma_variable.</p> </body> </html>
Fichier testes/views.py Copier le code
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'ma_variable': 2, } return HttpResponse(template.render(context, request))
Fichier testes/template.html Copier le code
<!DOCTYPE html> <html> <body> {% if ma_variable == 1 %} <h1>Bonjour</h1> {% elif ma_variable == 2 %} <h1>Bienvenue sur le site </h1> {% else %} <h1>Vous êtes nouveau sur le site.</h1> {% endif %} <p>Dans le fichier views.py, vous pouvez voir à quoi
ressemble la variable ma_variable.</p> </body> </html>
Fichier testes/views.py Copier le code
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'ma_variable': 3, } return HttpResponse(template.render(context, request))Les exemples ci-dessus utilisent l'opérateur ==, qui est utilisé pour vérifier si une variable est égale à une valeur, mais il existe de nombreux autres opérateurs que vous pouvez utiliser, ou vous pouvez même ignorer l'opérateur si vous voulez simplement vérifier si une variable existe :
Fichier testes/views.py Copier le code
from django.http import HttpResponse from django.template import loader def testing(request): template = loader.get_template('template.html') context = { 'liste_athlete': ['x','xx','xy'] , 'liste_attente_athlete': ['x','xx','xy'] , } return HttpResponse(template.render(context, request))
Fichier testes/template.html Copier le code
<!DOCTYPE html> <html> <body> {% if liste_athlete %} Il y a : {{ liste_athlete|length }} athlétes dans la liste. {% elif liste_attente_athlete %} {{ liste_attente_athlete|length }} athlétes sont dans la liste d'attente . {% else %} Il n'a pas de liste d'athlétes. {% endif %} </body> </html>Dans cet exemple on vérifier si la variable liste_athlete existe (c'est-à-dire : qu'elle existe, qu'elle n'est pas vide et qu'elle n'est pas une valeur booléenne "false").<
Pour voir plus sur les opérateurs consulter notre tutoriel