Jinja est l’un des moteurs de modèles les plus populaires utilisés dans le développement Web en Python. Il offre une grande flexibilité et une syntaxe simple, ce qui en fait un choix privilégié pour la génération de contenu dynamique dans les applications Web. Dans cette partie, nous allons explorer les fonctionnalités avancées de Jinja et discuter des filtres les plus importants disponibles dans ce moteur de modèle.
-
Filtre
upper
:
Ce filtre est utilisé pour convertir une chaîne de caractères en majuscules. Par exemple :« Link To Share » est votre plateforme de marketing tout-en-un, idéale pour guider votre audience vers tout ce que vous offrez, de manière simple et professionnelle. • Des pages de profil (Bio) modernes et personnalisables • Raccourcissez vos liens grâce à des analyses avancées • Générez des codes QR interactifs à l’image de votre marque • Hébergez des sites statiques et gérez votre code • Des outils web variés pour stimuler votre activité lua{{ "hello" | upper }} Résultat : HELLO
-
Filtre
lower
:
Ce filtre est utilisé pour convertir une chaîne de caractères en minuscules. Par exemple :lua{{ "HELLO" | lower }} Résultat : hello
-
Filtre
capitalize
:
Ce filtre est utilisé pour mettre en majuscule la première lettre d’une chaîne de caractères. Par exemple :arduino{{ "hello world" | capitalize }} Résultat : Hello world
-
Filtre
title
:
Ce filtre est utilisé pour mettre en majuscule la première lettre de chaque mot dans une chaîne de caractères. Par exemple :arduino{{ "hello world" | title }} Résultat : Hello World
-
Filtre
length
:
Ce filtre est utilisé pour obtenir la longueur d’une séquence ou d’une chaîne de caractères. Par exemple :css{{ [1, 2, 3, 4, 5] | length }} Résultat : 5
-
Filtre
join
:
Ce filtre est utilisé pour joindre les éléments d’une liste avec un séparateur spécifié. Par exemple :scss{{ ["apple", "banana", "cherry"] | join(", ") }} Résultat : apple, banana, cherry
-
Filtre
default
:
Ce filtre est utilisé pour retourner une valeur par défaut si la valeur principale est indéfinie ou vide. Par exemple :c{{ variable_undefined | default("valeur par défaut") }}
-
Filtre
truncate
:
Ce filtre est utilisé pour tronquer une chaîne de caractères à une longueur spécifiée. Par exemple :bash{{ "Lorem ipsum dolor sit amet" | truncate(10) }} Résultat : Lorem ipsu...
-
Filtre
safe
:
Ce filtre est utilisé pour marquer une chaîne de caractères comme sûre, indiquant à Jinja de ne pas échapper les caractères spéciaux HTML. Il est souvent utilisé avec du contenu HTML généré dynamiquement. Par exemple :css{{ "<h1>Helloh1>" | safe }}
-
Filtre
format
:
Ce filtre est utilisé pour formater une chaîne de caractères avec des arguments spécifiés. Par exemple :lua{{ "Hello {}" | format("World") }} Résultat : Hello World
-
Filtre
reverse
:
Ce filtre est utilisé pour inverser l’ordre des éléments d’une séquence. Il peut être utilisé avec des listes ou des chaînes de caractères. Par exemple :lua{{ "hello" | reverse }} Résultat : olleh
-
Filtre
slice
:
Ce filtre est utilisé pour extraire une partie d’une séquence ou d’une chaîne de caractères en utilisant des indices de début et de fin. Par exemple :python{{ "hello" | slice(1, 3) }} Résultat : el
Ces filtres offrent une grande puissance lors de la manipulation des données dans les modèles Jinja. Ils permettent de formater, de transformer et de filtrer les données de manière efficace, ce qui facilite le développement d’applications Web robustes et dynamiques.
Plus de connaissances
Bien sûr, explorons davantage les filtres disponibles dans Jinja ainsi que quelques exemples supplémentaires de leur utilisation :
-
Filtre
trim
:
Ce filtre est utilisé pour supprimer les espaces en début et en fin de chaîne de caractères. Par exemple :arduino{{ " hello world " | trim }} Résultat : hello world
-
Filtre
abs
:
Ce filtre est utilisé pour obtenir la valeur absolue d’un nombre. Par exemple :arduino{{ -5 | abs }} Résultat : 5
-
Filtre
round
:
Ce filtre est utilisé pour arrondir un nombre à un nombre spécifié de décimales. Par exemple :scss{{ 3.14159 | round(2) }} Résultat : 3.14
-
Filtre
int
:
Ce filtre est utilisé pour convertir une valeur en un entier. Par exemple :arduino{{ "123" | int }} Résultat : 123
-
Filtre
float
:
Ce filtre est utilisé pour convertir une valeur en un nombre flottant. Par exemple :arduino{{ "3.14" | float }} Résultat : 3.14
-
Filtre
urlencode
:
Ce filtre est utilisé pour encoder une chaîne de caractères en utilisant l’encodage URL. Par exemple :perl{{ "hello world" | urlencode }} Résultat : hello%20world
-
Filtre
urlencode_plus
:
Ce filtre est similaire àurlencode
, mais il encode également les espaces en plus (+) au lieu de %20. Par exemple :arduino{{ "hello world" | urlencode_plus }} Résultat : hello+world
-
Filtre
first
:
Ce filtre est utilisé pour obtenir le premier élément d’une séquence. Par exemple :css{{ [1, 2, 3, 4] | first }} Résultat : 1
-
Filtre
last
:
Ce filtre est utilisé pour obtenir le dernier élément d’une séquence. Par exemple :css{{ [1, 2, 3, 4] | last }} Résultat : 4
-
Filtre
unique
:
Ce filtre est utilisé pour supprimer les doublons d’une séquence. Par exemple :less{{ [1, 2, 2, 3, 3, 4] | unique }} Résultat : [1, 2, 3, 4]
-
Filtre
sort
:
Ce filtre est utilisé pour trier une séquence. Par exemple :less{{ [3, 1, 4, 1, 5, 9, 2, 6, 5] | sort }} Résultat : [1, 1, 2, 3, 4, 5, 5, 6, 9]
-
Filtre
random
:
Ce filtre est utilisé pour choisir un élément aléatoire dans une séquence. Par exemple :arduino{{ ["apple", "banana", "cherry"] | random }}
-
Filtre
reject
:
Ce filtre est utilisé pour filtrer les éléments d’une séquence en fonction d’une condition. Il retourne les éléments qui ne satisfont pas la condition. Par exemple :less{{ [1, 2, 3, 4, 5] | reject("odd") }} Résultat : [2, 4]
-
Filtre
select
:
Ce filtre est utilisé pour filtrer les éléments d’une séquence en fonction d’une condition. Il retourne les éléments qui satisfont la condition. Par exemple :less{{ [1, 2, 3, 4, 5] | select("odd") }} Résultat : [1, 3, 5]
-
Filtre
difference
:
Ce filtre est utilisé pour obtenir la différence entre deux ensembles. Par exemple :scss{{ [1, 2, 3, 4, 5] | difference([3, 4, 5, 6, 7]) }} Résultat : [1, 2]
Ces filtres offrent une multitude d’options pour manipuler et formater les données dans les modèles Jinja, ce qui permet aux développeurs de créer des applications Web dynamiques et personnalisées avec une grande efficacité.