Préremplissage d’un bloc de champ#
Préremplir un bloc de champ n’est pas chose aisée, si vous rencontrez des difficultés n’hésitez pas à ouvrir un ticket
Attention, les exemples donnés ici comportent des retours à la ligne pour plus de clarté et nous vous recommandons de construire votre condition de cette façon. Mais avant de la coller dans le champ de préremplissage veillez à bien supprimer les retours à la ligne
Avec une boucle for simple#
Façon la plus simple de préremplir un bloc de champs conviendra à la plupart des cas
exemple:
{% block_value init=True as diseases_details %}
{% for i in form_var_fiche_sante %}
{% block_value gravite=i|get:"gravity"|default:"" traitement=i|get:"traitement"|default:"" append=diseases_details as diseases_details %}
{% endfor %}
{% block_value output=diseases_details %}
diseases_details : l’identifiant de votre bloc de champs
form_var_fiche_sante : la liste qui va servir à préremplir votre bloc de champs
gravite et traitement : les champs de votre bloc de champs, pas besoin de respecter l’ordre
i : représente la ligne de votre liste.
|get:“gravity”|default:“” : une manière d’aller chercher les données dans votre ligne. En fonction de la nature de votre liste, la méthode peut changer
Le reste sont des conventions à respecter
Avec une boucle sur un range#
Façon beaucoup plus complexe qui n’est nécessaire que quand les données se trouvent dans plusieurs listes.
{% block_value init=True as diseases_details %}
{% with form_var_diseases|length as length %}
{% with ''|center:length as range %}
{% for _ in range %}
{% block_value disease=form_var_fiche_sante.disease_ids|get:forloop.counter0 gravity=form_var_fiche_sante.disease_details|get:forloop.counter0|get:"gravity"|default:"" treatment=form_var_fiche_sante.disease_details|get:forloop.counter0|get:"treatment"|default:"" append=diseases_details as diseases_details %}
{% endfor %}
{% endwith %}
{% endwith %}
{% block_value output=diseases_details %}
{% with form_var_diseases|length as length %} : calcul la longueur total de la boucle.
{% with ‘’|center:length as range %} : permet de transformer la longueur total de la boucle en liste.
forloop.counter0 : permet de récupérer le numéro de l’itération en partant de 0.