Django 4.1.1 В теге метки ChoiceField widget=forms.RadioSelect отсутствует атрибут 'for'
Я только что обновился с django 2.0.2 до 4.1.1.
У меня есть несколько полей формы типа ChoiceField с forms.RadioSelect. В django 2.0.2 тег включал атрибут/ид 'for', поэтому я могу сделать запрос в шаблоне
{% if field.id_for_label == "xyz" %}
. Однако в 4.1.1 атрибут/id 'for' не включен (при проверке сгенерированного html источника), поэтому field.id_for_label пуст.
Все метки других полей по-прежнему включают атрибуты/id "для".
Вопросы:
- Кто-нибудь сталкивался с этой проблемой?
- Есть ли способ "заставить" атрибут "for" в метках?
- Есть ли какой-нибудь другой способ идентифицировать поле? Я пробовал ...
{% if field.label_tag == "label text" %}
, но безрезультатно.
@doug-nintzel. Возможно, я инициировал это изменение в последней версии Django.
Если я возьму код шаблона radio-widget, то вот:
django\forms\templates\django\forms\widgets\radio.html
django\forms\templates\django\forms\widgets\radio-option.html
Я вижу, вы можете использовать:
{% if field.widget.attrs.id == "something" %} ... {% endif %}
вместо field.id_for_label