Jinja (moteur de template)
moteur de template utilisé en Python en général associé au framework Flask
From Wikipedia, the free encyclopedia
Jinja est un moteur de template utilisé par le langage Python. Créé par Armin Ronacher et distribué sous licence BSD, il est très similaire au moteur de template Django mais fournit des expressions Python et évalue les templates dans une sandbox. C'est un langage orienté texte qui peut ainsi être utilisé pour générer n'importe quel type de fichier pouvant être balisé.
| Développé par | Armin Ronacher (en) |
|---|---|
| Dernière version | 3.1.6 ()[1] |
| Dépôt | github.com/pallets/jinja |
| Écrit en | Python |
| Type |
Bibliothèque logicielle Système de gabarit Bibliothèque logicielle Python (d) Template language (d) |
| Licence | BSD 3-clauses |
| Site web | palletsprojects.com/p/jinja |
Ce moteur permet certaines personnalisations de tags[2], de filtres, de tests, et d'expressions[3]. Cependant contrairement à Django, Jinja permet au développeur d'appeler des fonctions avec des arguments sur des objets. Jinja, comme Smarty, utilise également un système de filtre qui se rapproche du Unix pipeline.
Jinja est basé sur le framework Flask[4] et utilisé par Ansible[5],[6], Trac, et Salt. Il aurait inspiré Twig, le moteur de template de PHP.
Fonctionnalités
Voici quelques-unes des fonctionnalités[7] :
- exécution dans un bac à sable
- encodage et filtrage automatique des documents HTML pour se prémunir des attaques de type cross-site scripting (XSS)
- héritage de templates
- Compilation Python "Just in time"
- Pré-compilation en avance des templates (option)
- Debuggage simplifié (les exceptions pointent directement sur la ligne incriminée du template)
- Syntaxe configurable