2010-09-21 81 views
80

¿Hay alguna forma de obtener la identificación de un campo en una plantilla?¿Cómo obtener el ID del campo de formulario en Django?

En el HTML me sale: <input name="field_name" id="id_field_name"...

Sé que puedo obtener el nombre con {{ field.html_name }}, pero ¿hay algo similar para conseguir la identificación?
¿O solo puedo obtenerlo así: id_{{ field.html_name }}?

Respuesta

137

, usted puede obtener el ID de la siguiente manera:

{{ field.auto_id }} 
+0

¿qué pasa con el nombre del campo? – Clayton

+5

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

8

Esto no funciona para todos los campos de formulario.

Por ejemplo {{ form.address.auto_id }} funciona mientras que {{ form.address.auto_name }} no lo hará.

Sin embargo, puede usar {{ form.address.html_name }} para obtener la respuesta equivalente.

Aquí están los docs

+4

Creo que lo que quieres decir es que puedes usar "auto_id" para la identificación, pero tienes que usar "html_name" para el nombre. Tristemente, creo que tu respuesta está redactada de forma confusa dada la pregunta. – Steve

+0

Esta respuesta no funcionó para mí, y la anterior de Will funcionó a la perfección. Los intenté de nuevo con comentarios instantáneos. – eficker

12

También puede utilizar:

{{ field.id_for_label }} 
Cuestiones relacionadas