¿Cómo obtener la identificación del campo de formulario en Django?


99

¿Hay alguna forma de obtener la identificación de un campo en una plantilla?

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

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

Respuestas:


170

Puede obtener la identificación de esta manera:

{{ field.auto_id }}

1
¿qué pasa con el nombre del campo?
AJ

12
@Clayton{{ field.html_name }}
chucksmash


11

Esto no funciona para todos los campos de formulario.

Por ejemplo, {{ form.address.auto_id }}funciona mientras {{ form.address.auto_name }}que no.

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

Aquí están los documentos


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. Lamentablemente, encuentro que su respuesta está redactada de manera confusa dada la pregunta.
Steve

Esta respuesta no funcionó para mí, y la anterior de Will funcionó perfectamente. Los probé consecutivamente con comentarios instantáneos.
eficker

1

En Django 2 puede recuperar la ID de un campo específico usando {{ field.id_for_label }}

Esto está documentado aquí .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.