2010-09-21 5 views
80

Czy istnieje sposób na uzyskanie identyfikatora pola w szablonie?Jak uzyskać identyfikator pola formularza w Django?

W HTML uzyskać: <input name="field_name" id="id_field_name"...

wiem, że mogę uzyskać nazwę z {{ field.html_name }}, ale jest tam coś podobnego do uzyskania identyfikatora?
Czy mogę uzyskać tylko to: id_{{ field.html_name }}?

Odpowiedz

137

można uzyskać identyfikator tak:

{{ field.auto_id }} 
+0

co o nazwie pola? – Clayton

+5

@Clayton '{{field.html_name}}' – chucksmash

8

To nie działa na każdym polu formularza.

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

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

Oto docs

+4

Myślę, że masz na myśli to, że możesz użyć "auto_id" dla id, ale musisz użyć "html_name" dla nazwy. Niestety, twoja odpowiedź jest sformułowana myląco, biorąc pod uwagę pytanie. – Steve

+0

Ta odpowiedź nie zadziałała dla mnie, a powyższe wskazówki dla Willa działały idealnie. Próbowałem ich z powrotem do tyłu z natychmiastową informacją zwrotną. – eficker

12

Można również użyć:

{{ field.id_for_label }}