OUJOOD.COM
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 filtresExemple : 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. |