Как получить идентификатор поля формы в Django?

Есть ли способ получить идентификатор поля в шаблоне?

В HTML я получаю: <input name="field_name" id="id_field_name"...

Я знаю, что могу получить имя с {{ field.html_name }}, но есть ли что-нибудь подобное для получения идентификатора?
Или я могу получить это только так: id_{{ field.html_name }}?

5 ответов

Решение

Вы можете получить удостоверение личности следующим образом:

{{ field.auto_id }}

Вы также можете использовать:

{{ field.id_for_label }}

Это не работает для каждого поля формы.

Например {{ form.address.auto_id }} работает пока {{ form.address.auto_name }} не буду.

Однако вы можете использовать {{ form.address.html_name }} чтобы получить эквивалентный ответ.

Вот документы

Из документации-

каждое поле формы имеет атрибут ID, установленный на id_<field-name>, на который ссылается сопровождающий тег label. Это важно для обеспечения доступности форм для вспомогательных технологий, таких как программы для чтения с экрана. Вы также можете настроить способ генерации меток и идентификаторов.

Поэтому я хотел бы сказать id_field-name, вы получаете имя поля из модели.

Вот ссылка на документацию

В Django 2 вы можете получить идентификатор для определенного поля, используя {{ field.id_for_label }}

Это задокументировано здесь.

Другие вопросы по тегам