2010-09-21 11 views
80

C'è un modo per ottenere l'id di un campo in un modello?Come ottenere l'ID del campo modulo in Django?

Nella HTML ottengo: <input name="field_name" id="id_field_name"...

so di poter ottenere il nome con {{ field.html_name }}, ma c'è qualcosa di simile per ottenere l'id?
Oppure posso avere solo questo: id_{{ field.html_name }}?

risposta

137

È possibile ottenere l'ID in questo modo:

{{ field.auto_id }} 
+0

per quanto riguarda il nome del campo? – Clayton

+5

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

8

Questo non funziona per ogni campo di modulo.

Ad esempio, {{ form.address.auto_id }} funziona mentre {{ form.address.auto_name }} no.

Tuttavia è possibile utilizzare {{ form.address.html_name }} per ottenere la risposta equivalente.

Ecco il docs

+4

Penso che quello che intendi è che puoi usare "auto_id" per l'id, ma devi usare "html_name" per il nome. Trovo purtroppo che la tua risposta sia formulata in modo confuso vista la domanda. – Steve

+0

Questa risposta non ha funzionato per me, e quella di sopra ha funzionato perfettamente. Li ho ripresi con un feedback immediato. – eficker

12

È inoltre possibile utilizzare:

{{ field.id_for_label }} 
Problemi correlati