Support #39542
Récupérer une liste de valeurs dans un paramètre d'url en préremplissage de formulaire
0%
Description
Je souhaitais passer en qs un paramètre comme :
telephone=0123456789,0612345678
Pour faire un préremplissage gabarit du style :
{{ request.GET.telephone.0 }} {{ request.GET.telephone.1 }}Cela me donne actuellement en valeur
- {{ request.GET.telephone.0 }} : 0
- {{ request.GET.telephone.1 }} : 1
- Etc.
(Au hasard j'ai aussi testé telephone=[0123456789,0612345678] sans succès)
Y a t-il une autre méthode permettant cela ?
Historique
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Le plus simple à mon avis ce serait telphone1=xxx&telephone2=yyy
puis {{ request.GET.telephone1 }}
, etc.. . Mais s'il est vraiment nécessaire de toute passer en une fois, {{ request.GET.telephone|split:","|get:0 }}
, {{ request.GET.telephone|split:","|get:1 }}
.
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Nouveau à Solution déployée
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a environ 4 ans
Le plus simple à mon avis ce serait
telphone1=xxx&telephone2=yyy
puis{{ request.GET.telephone1 }}
, etc.. .
C'est effectievement la solution actuellement utilisée.
Mais s'il est vraiment nécessaire de toute passer en une fois,
{{ request.GET.telephone|split:","|get:0 }}
,{{ request.GET.telephone|split:","|get:1 }}
.
Je reçois dans le retour d'appel WS un json contenant :
"telephone": [ { "numero": "0102030405", "commentaire": "Domicile" }, { "numero": "0605040302", "commentaire": "Numéro de la voisine" ],
Je pensais appeler un formulaire de modification où je passerais dans la qs ces numéros avec qqch du style :
...&telephone={% for t in data.telephone %}{{t.numero}}{% if not forloop.last %},{% endif %}{% endfor %}
(Mais comme il faudra également que je préremplisse les commentaires j'abandonne l'usage de la qs, je ferai un préremplissage à partir d'un wscall.)
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Euh... ça me parait bien compliqué.
Je verrais plutôt une source de donnée dépendant de {{ request.GET.rsa_individu_id }}
qui fait la requête.
Ensuite pour le pré-remplisage tu fais {{ date_source.rsa_individu_prefilling.telephone[0].numero }}
pour Telephone1 et ainsi de suite...
Enfin ça dépendra du widget que tu utilises pour présenter les numéros, si tu choisis d'utiliser un tableau à deux colonnes alors il faudrait plutôt [[telephone['numero'], telephone.get('commentaire', '') for telephone in data_source.rsa_individu_prefilling.get('telephone', [])]
.
Et puis valider le format du premier champ du tableau en sortie de page.
Mis à jour par Mikaël Ates (de retour le 29 avril) il y a environ 4 ans
C'est ce que veux dire "je ferai un préremplissage à partir d'un wscall".
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
Mikaël Ates a écrit :
C'est ce que veux dire "je ferai un préremplissage à partir d'un wscall".
Tu m'as perdu avec "..de la qs.." pour moi qs = queryset à force de faire du Django.