-
Mémo Générer un template dynamiquement avec Jinja2
Les basiques
Installation :
pip install Jinja2
Les arguments
trim_blocks=True
etlstrip_blocks=True
permettent de supprimer les retours à la ligne ajoutés lors du rendu. cf leur documentation.mail.py
import os from jinja2 import Environment, FileSystemLoader BASE_DIR = os.path.dirname(os.path.abspath(__file__)) environment = Environment(loader=FileSystemLoader(BASE_DIR), trim_blocks=True, lstrip_blocks=True) message = environment.get_template('template.html').render( name='Bob', date='12 février' )
template.html
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> </head> <body> <p>Salut {{ name }},</p> <p>Bonne et heureuse année !</p> <p>Notre prochaine réunion est le {{ date }}, je compte sur toi !</p> <p>A bientôt,</p> <p>p2m3ng</p> </body> </html>
En sortie :
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> </head> <body> <p>Salut Bob,</p> <p>Bonne et heureuse année !</p> <p>Notre prochaine réunion est le 12 février, je compte sur toi !</p> <p>A bientôt,</p> <p>p2m3ng</p> </body> </html>
6 février 2019 00:59