Aller au contenu

Le rendu de gabarits mail dans Forge

Ce document décrit MailTemplateRenderer, qui produit un message à partir de gabarits Jinja2.

Le fichier de code correspondant est forge_mvc_mail/templates.py.

1. À quoi sert ce module ?

Écrire le corps d'un email à la main dans le code est pénible.
Le MailTemplateRenderer rend un jeu de gabarits Jinja2 (sujet, corps texte, corps HTML) en un MailMessage prêt à envoyer.

2. Rendre un message

from forge_mvc_mail import MailTemplateRenderer

renderer = MailTemplateRenderer(template_dir="mvc/templates/mail")
msg = renderer.render("welcome", context={"name": "Alice"}, to="alice@example.org")

MailTemplateRenderer(template_dir=None) utilise le dossier de gabarits mail du projet à défaut.
Le rendu produit un MailMessage (sujet + corps), qu'on passe ensuite au Mailer.

3. Les erreurs

Un gabarit absent, illisible ou produisant une erreur de rendu lève MailTemplateError.

4. Contextes d'utilisation

  • Emails transactionnels : un dossier de gabarits par type de message (bienvenue, réinitialisation…).
  • Séparation : le rendu (ici) et l'envoi (mailer) restent distincts.

5. Voir aussi