oujood.com

Balise de template if else

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é.

chercher |

Django la balise if

Dans cet article, nous examinons comment utiliser la balise if dans les templates. La balise {% if %} évalue une variable, et si cette variable est " true " (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 instructions est exécuté.
Syntaxe :
{% if variable %}
// instructions
{% elif %}
// instructions
{% else %}
// instructions
{% endif %}

L'instruction If

L'instruction if évalue une variable et exécute un bloc de code si la valeur est vraie.

Exemple :

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))

Instruction Elif

Le mot-clé elif signifie "si les conditions if précédentes ne se sont pas vrais, alors essayez cette condition".

Exemple :

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))

Else

Le mot-clé else permet de récupérer tout ce qui n'a pas été récupéré par les conditions précédentes (c'est à dire: les conditions if et elif).

Exemple :

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 :
Exemple : Vérifier si une valeur 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").<

Si c'est le cas, elle calcule le nombre d'élément dans la liste trouvée par la méthode lengthet et affiche le nombre dans la phrase :
Il y a : (nombre) athlètes dans la liste.

Si elle ne trouve pas la liste ou elle est vide elle passe à l'instruction elif pour chercher la liste d'attente, si elle ne trouve pas elle passe à l'instruction else.

Pour vérifier supprimer la liste d'athlète dans views.py ou la vider, puis faire la même chose avec la liste d'attente.

Pour voir plus sur les opérateurs consulter notre tutoriel





Voir aussi nos tutoriel :

right

Définit le bord de la marge droite d'une boîte placée

CSS border-top

Définit toutes les propriétés de bordure en haut dans une déclaration

font-style

Indique le style de police pour le texte