Un fichier .jinja2 est un fichier de modèle (template) utilisé par le moteur de gabarit Jinja2, un langage de modélisation populaire et puissant conçu pour Python. Ces fichiers contiennent un mélange de texte statique et d'espaces réservés dynamiques (placeholders), permettant aux développeurs de générer du contenu dynamique tel que des pages HTML, des fichiers de configuration ou du code source. Les espaces réservés sont remplacés par des valeurs réelles lors de l'exécution (runtime), basées sur les données transmises au modèle. Les modèles Jinja2 prennent en charge des fonctionnalités avancées telles que les variables, les structures de contrôle (instructions conditionnelles 'if', boucles 'for'), les filtres et les macros, permettant d'intégrer une logique complexe et la manipulation de données directement au sein du modèle. Cette approche favorise la séparation de la logique de présentation de la logique d'application, rendant le code plus maintenable et réutilisable. Jinja2 est largement utilisé dans les frameworks de développement web comme Flask et Django pour la génération de pages web dynamiques, mais il est également pertinent dans tout autre contexte nécessitant la génération de texte dynamique. Les fichiers contiennent généralement du HTML, du XML ou d'autres formats basés sur du texte, entrecoupés de la syntaxe spécifique à Jinja2.