Como obter o id do campo do formulário no Django?


99

Existe alguma maneira de obter o id de um campo em um modelo?

No HTML eu obtenho: <input name="field_name" id="id_field_name"...

Eu sei que posso obter o nome com {{ field.html_name }}, mas há algo semelhante para obter a id?
Ou só posso obter assim id_{{ field.html_name }}:?

Respostas:




11

Isso não funciona para todos os campos do formulário.

Por exemplo, {{ form.address.auto_id }}funciona enquanto {{ form.address.auto_name }}não.

No entanto, você pode usar {{ form.address.html_name }}para obter a resposta equivalente.

Aqui estão os documentos


4
Acho que o que você quer dizer é que você pode usar "auto_id" para o id, mas você tem que usar "html_name" para o nome. Infelizmente, acho que sua resposta foi formulada de forma confusa, dada a pergunta.
Steve

Essa resposta não funcionou para mim, e a de Will acima funcionou perfeitamente. Eu tentei back to back com feedback instantâneo.
eficker

1

No Django 2 você pode recuperar o ID de um campo específico usando {{ field.id_for_label }}

Isso está documentado aqui .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.