Wie erhalte ich die ID des Formularfelds in Django?


99

Gibt es eine Möglichkeit, die ID eines Felds in einer Vorlage abzurufen?

Im HTML bekomme ich: <input name="field_name" id="id_field_name"...

Ich weiß, dass ich den Namen mit bekommen kann {{ field.html_name }}, aber gibt es etwas Ähnliches, um die ID zu bekommen?
Oder kann ich es nur so bekommen : id_{{ field.html_name }}?

Antworten:


169

Sie können die ID wie folgt erhalten:

{{ field.auto_id }}

1
Was ist mit dem Feldnamen?
AJ

12
@ Clayton{{ field.html_name }}
Chuckmash


11

Dies funktioniert nicht für jedes Formularfeld.

Zum Beispiel {{ form.address.auto_id }}funktioniert solange {{ form.address.auto_name }}nicht.

Sie können jedoch verwenden {{ form.address.html_name }}, um die entsprechende Antwort zu erhalten.

Hier sind die Dokumente


4
Ich denke, was du meinst ist, dass du "auto_id" für die ID verwenden kannst, aber du musst "html_name" für den Namen verwenden. Leider finde ich, dass Ihre Antwort angesichts der Frage verwirrend formuliert ist.
Steve

Diese Antwort hat bei mir nicht funktioniert, und Wills oben hat perfekt funktioniert. Ich habe sie mit sofortigem Feedback hintereinander ausprobiert.
Eficker

1

In Django 2 können Sie die ID für ein bestimmtes Feld mit abrufen {{ field.id_for_label }}

Dies ist hier dokumentiert .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.