oujood.com

Django les balises Filters et Comments

Dans ce tutoriel nous allons apprendre à utiliser les filtres dans les templates. Le filtre permet de filtrer le contenu du bloc à travers un ou plusieurs filtres.
Plusieurs filtres peuvent être spécifiés avec des pipes '|' et les filtres peuvent avoir des arguments, tout comme dans la syntaxe des variables.

chercher |

Les balises de filtrage Django template

Django template : Filtrer une valeur

Avec le caractère pipe | suivi d'un nom de filtre, vous pouvez faire passer une valeur par un filtre avant de la renvoyer.

Le nom du filtre détermine ce que le filtre doit faire avec la valeur.

Syntaxe

{{nom_de_variable | nom_de_filtre }}


Exemple Mettre la valeur de la variable en majuscules

Fichier template.html              Copier le code

<!DOCTYPE html>
<html>
<body>
<h1>Bonjour {{prenom|upper}}, comment allez-vous ? </h1>

<p>Dans template.html on peut observer comment filtrer une variable.</p>
<p>Dans views.py on peut voir la valeur originale de la variable.</p>

</body>
</html> 

Fichier 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 = {
    'prenom': 'Robert',
  }
  return HttpResponse(template.render(context, request)) 

Django template : Filtres multiples

Vous pouvez ajouter plus d'un filtre en ajoutant les caractères pipe | suivis des noms de filtres

Exemple : Retourner le premier caractère de la variable firstname, en minuscules. nous utilisons le même fichier views que précédement

Fichier template.html               Copier le code

<!DOCTYPE html>
<html>
<body>
<h1>Bonjour {{prenom|first|lower}}, comment allez-vous ? </h1>

<p>Dans template.html on peut observer comment filtrer une variable.</p>
<p>Dans views.py on peut voir la valeur originale de la variable.</p>

</body>
</html> 
Dans l'exemple nous avons utilié deux filtres : le filtre first qui renvoie le premier caractère de la variable et le filtre lower qui la met en minuscules.

La balise filter

La balise filter vous permet d'exécuter toute une section de code à travers un filtre, et de la renvoyer en fonction du ou des mots-clés du filtre.

Exemple Retourner la variable avec des lettres majuscules :

Fichier template.html              Copier le code

<!DOCTYPE html>
<html>
<body>
<h1>Bonjour tout le monde, comment allez-vous ? </h1>

<p>Dans template.html on peut observer comment filtrer une variable.</p>

</body>
</html> 
Et voici un exemple avec multiples filtres.

Fichier template.html               Copier le code

<!DOCTYPE html>
<html>
<body>
<h1> {% filter upper|linenumbers %}Bonjour !
mon nom est
Robert.
Et toi, 
comment t'appelles-tu ?{% endfilter %} </h1>

<p>Dans template.html on peut observer comment filtrer une variable.</p>

</body>
</html>

Référence des filtres

La liste des mots-clés de filtre :
MOT CLE Description
add Ajoute une valeur spécifiée.
addslashes Ajoute une barre oblique avant tout caractère de citation, pour échapper aux chaînes de caractères.
capfirst Retourne la première lettre en majuscule.
center Centre la valeur au milieu d'une largeur spécifiée.
cut Supprime tout caractère ou toute expression spécifiés.
date Retourne les dates dans le format spécifié.
default Renvoie une valeur spécifiée si la valeur est False.
default_if_none Renvoie une valeur spécifiée si la valeur est None.
dictsort Trie un dictionnaire selon la valeur donnée.
dictsortreversed Trie un dictionnaire à l'envers, selon la valeur donnée.
divisibleby Retourne True si la valeur peut être divisée par le nombre spécifié, sinon il retourne False.
escape Échappe le code HTML d'une chaîne.
escapejs Échappe le code JavaScript d'une chaîne de caractères.
filesizeformat Retourne un nombre dans un format de taille de fichier.
first Renvoie le premier élément d'un objet (pour les chaînes de caractères, le premier caractère est renvoyé).
floatformat Arrondit les nombres flottants à un nombre spécifié de décimales, par défaut une décimale.
force_escape Échappe le code HTML d'une chaîne de caractères.
get_digit Retourne un chiffre spécifique d'un nombre.
Iriencode Convertit un IRI en une chaîne conviviale pour l'URL.
join Retourne les éléments d'une liste dans une chaîne.
json_script Retourne un objet dans un objet JSON entouré de balises <script></script>.
last Retourne le dernier élément d'un objet (pour les chaînes de caractères, le dernier caractère est retourné).
length Retourne le nombre d'éléments dans un objet, ou le nombre de caractères dans une chaîne de caractères.
length_is Retourne True si la longueur est la même que le nombre spécifié.
linebreaks Retourne le texte avec<br> au lieu de sauts de ligne, et <p> au lieu de plusieurs sauts de ligne.
linebreaksbr Retourne le texte avec <br> à la place des sauts de ligne.
linenumbers Renvoie le texte avec les numéros de ligne pour chaque ligne.
ljust Aligne à gauche la valeur selon une largeur spécifiée
lower Retourne le texte en lettres minuscules.
make_list Convertit une valeur en un objet de liste.
phone2numeric Convertit les numéros de téléphone avec des lettres en numéros de téléphone numériques.
pluralize Ajoute un 's' à la fin d'une valeur si la valeur numérique spécifiée est différente de 1.
Pprint
random Renvoie un élément aléatoire d'un objet
rjust Aligne la valeur à droite selon une largeur spécifiée.
Safe Indique que ce texte est sûr et ne doit pas être échappé au HTML.
Safeseq Indique que chaque élément d'un objet est sûr et que l'élément ne doit pas être échappé au HTML.
slice Retourne une tranche spécifiée d'un texte ou d'un objet.
slugify Convertit le texte en un long mot alphanumérique minuscule.
stringformat Convertit la valeur dans un format spécifié.
striptags Supprime les balises HTML d'un texte.
time Renvoie une heure dans le format spécifié.
timesince Renvoie la différence entre deux dates.
timeuntil Renvoie la différence entre deux dates.
title Met en majuscule le premier caractère de chaque mot dans un texte, tous les autres caractères sont convertis en minuscules.
truncatechars Raccourcit une chaîne de caractères dans le nombre de caractères spécifié.
truncatechars_html Raccourcit une chaîne de caractères dans le nombre de caractères spécifié, sans tenir compte de la longueur des balises HTML.
truncatewords Raccourcit une chaîne de caractères dans le nombre de mots spécifié.
truncatewords_html Raccourcit une chaîne de caractères dans le nombre de mots spécifié, sans tenir compte des balises HTML.
unordered_list Renvoie les éléments d'un objet sous forme de liste HTML non ordonnée.
upper Retourne le texte en lettres majuscules.
Urlencode URL encode une chaîne de caractères.
Urlize Renvoie toutes les URL d'une chaîne sous forme de liens HTML.
urlizetrunc Renvoie toutes les URL d'une chaîne sous forme de liens HTML, mais raccourcit les liens dans le nombre de caractères spécifié.
wordcount Renvoie le nombre de mots dans un texte.
Wordwrap Raccourcit les mots à un nombre de caractères spécifié.
Yesno Convertit les valeurs booléennes en valeurs spécifiées.




Voir aussi nos tutoriel :

XPATH axes

XPATH axes

Base de données MySQL UPDATE

Base de données MySQL UPDATE

fonction vprintf, vprintf

Affiche une chaîne format e