Projet

Général

Profil

Support #39542

Récupérer une liste de valeurs dans un paramètre d'url en préremplissage de formulaire

Ajouté par Mikaël Ates (de retour le 29 avril) il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
04 février 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non
Club:
Non

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

#1

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 }}.

#2

Mis à jour par Benjamin Dauvergne il y a environ 4 ans

  • Statut changé de Nouveau à Solution déployée
#3

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.)

#4

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.

#5

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".

#6

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.

Formats disponibles : Atom PDF