Aller au contenu

Jinja

Jinja est un moteur de template utilisé par le langage Python.

Exemple d'utilisation

On souhaite générer une simple page HTML.

On considère l'arborescence du projet suivante :

my_package
├── __init__.py
└── my_module
    ├── __init__.py
    ├── core.py
    └── templates
        └── my_module
            └── index.html

On ajoute des balises au template index.html :

<h1>{{ title }}</h1>

Et l'on passe la valeur correspondante attendue par Jinja dans la méthode render() du module Python core.py :

from jinja2 import Environment, PackageLoader, select_autoescape

# Load templates:
env = Environment(
    loader=PackageLoader("my_package.my_module"),
    autoescape=select_autoescape(),
)

# Get a template:
template = env.get_template("my_module/index.html")

# Render it:
html = template.render(title="Hello, world!")

Ressources