Jak uzyskać identyfikator pola formularza w Django?


99

Czy istnieje sposób, aby uzyskać identyfikator pola w szablonie?

W HTML otrzymuję: <input name="field_name" id="id_field_name"...

Wiem, że mogę uzyskać nazwę {{ field.html_name }}, ale czy jest coś podobnego do uzyskania identyfikatora?
Czy mogę to uzyskać tylko w ten sposób id_{{ field.html_name }}:?

Odpowiedzi:




11

To nie działa dla każdego pola formularza.

Na przykład {{ form.address.auto_id }}działa, a {{ form.address.auto_name }}nie będzie.

Możesz jednak użyć, {{ form.address.html_name }}aby uzyskać równoważną odpowiedź.

Oto dokumenty


4
Myślę, że masz na myśli to, że możesz użyć „auto_id” jako identyfikatora, ale musisz użyć „html_name” jako nazwy. Niestety, biorąc pod uwagę to pytanie, twoja odpowiedź jest myląca.
Steve

Ta odpowiedź nie zadziałała dla mnie, a powyższa odpowiedź Willa działała doskonale. Wypróbowałem je jeden po drugim, uzyskując natychmiastową informację zwrotną.
eficker

1

W Django 2 możesz pobrać identyfikator określonego pola za pomocą {{ field.id_for_label }}

Jest to udokumentowane tutaj .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.