web-dev-qa-db-fra.com

Comment obtenir l'identifiant d'un champ de formulaire dans Django?

Existe-t-il un moyen d'obtenir l'ID d'un champ dans un modèle?

Dans le HTML, je reçois: <input name="field_name" id="id_field_name"...

Je sais que je peux obtenir le nom avec {{ field.html_name }}, mais existe-t-il quelque chose de similaire pour obtenir l'identifiant?
Ou puis-je seulement l'obtenir comme ceci: id_{{ field.html_name }}?

93
user182945

Vous pouvez obtenir l'ID comme ceci:

{{ field.auto_id }}
157
Will Hardy

Vous pouvez aussi utiliser id_for_label :

{{ field.id_for_label }}
19
Eren Süleymanoğlu

Cela ne fonctionne pas pour tous les champs de formulaire.

Par exemple {{ form.address.auto_id }} fonctionne pendant que {{ form.address.auto_name }} ne le sera pas.

Cependant, vous pouvez utiliser {{ form.address.html_name }} pour obtenir la réponse équivalente.

Voici les docs

10
kkaehler

Dans Django 2, vous pouvez récupérer l'ID d'un champ spécifique en utilisant {{ field.id_for_label }}

Ceci est documenté ici .

1
LondonAppDev