.. -*- coding: utf-8 -*- .. _annexe-tech-5-formules: ============================= Annexe technique 5 - Formules ============================= :Auteurs: Étienne Loks :Date: 2024-06-05 :Copyright: CC-BY 3.0 ---------------------------------- .. _formules-syntaxe-simple: Syntaxe simple ============== Cette syntaxe permet d'utiliser directement les variables en utilisant la notation accolade simple ``{}``. Par exemple : :: OA-{code_patriarche} Cette notation se traduira ainsi par des rendus comme : `OA-061234` ou `OA-44789`. .. _formules-syntaxe-jinja: Syntaxe Jinja ============= Cette syntaxe permet de faire des substitutions de manière plus fine qu'avec la syntaxe simple. Cette syntaxe est utilisée systématiquement pour les patrons de document, un sous-ensemble de cette syntaxe (variables et structures conditionnelles) peut-être utilisée optionnellement pour les identifiants personnalisés. Variables --------- L'accès aux :ref:`annexe technique 3 - variables `. se fait par la notation double accolade ``{{ }}``. Ainsi par exemple, pour accéder aux variables `nom_de_ma_clef_1` et `nom_de_ma_clef_2` : :: Je, soussigné, {{nom_de_ma_clef_1}}, vous accorde un prêt de {{nom_ma_clef_2}}. Conditions ---------- Des structures conditionnelles peuvent être mises en place. Cela permet notamment de tester si une valeur a été renseignée et de permettre de contextualiser l'affichage en fonction de cela. Exemple : :: Ce traitement sous {% if responsable %}la responsabilité de {{responsable}} {% else %}une responsabilité à définir {% endif %} se tiendra... Les structures conditionnelles se structurent autour des mots clés ``if``, ``else`` et ``endif``. On utilise ``{%`` et ``%}`` autour de ces mots clés. La section ``else`` est facultative. Parcours de liste ----------------- Certaines clés peuvent parfois renvoyer à des listes d'éléments, chacun ayant des attributs. On peut alors parcourir cette liste d'élément de cette manière : :: {% for element in liste_elements %} {{element.nom}} - {{element.prenom}} {% endfor %} Cela se structure autour des mots clés ``for``, ``in`` et ``endfor``. Au lieu de doubles accolades, ``{%`` et ``%}`` encadrent ces mots clés.