Как получить идентификатор поля формы в Django?
Есть ли способ получить идентификатор поля в шаблоне?
В HTML я получаю: <input name="field_name" id="id_field_name"...
Я знаю, что могу получить имя с {{ field.html_name }}
, но есть ли что-нибудь подобное для получения идентификатора?
Или я могу получить это только так: id_{{ field.html_name }}
?
5 ответов
Вы можете получить удостоверение личности следующим образом:
{{ field.auto_id }}
Это не работает для каждого поля формы.
Например {{ 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 }}
Это задокументировано здесь.