blob: 5fc5452b11e6587536e020c4b23b4f4fb48c049d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
.. -*- 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 <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.
|