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.