Django добавление атрибутов в форму булевой модели
Моя модель формы выглядит следующим образом:
class ToggleSettingsForm(forms.ModelForm):
class Meta:
model = ToggleSettings
fields = (
'background',
)
widgets = {
'background': forms.BooleanField(widget=forms.CheckboxInput(attrs={'type': 'checkbox', 'class': 'checkbox', 'id': 'your_id'}))
}
И я получаю эту ошибку в шаблоне
AttributeErro
'BooleanField' object has no attribute 'is_hidden'
Request Method: GET
Request URL: http://localhost:8000/auth/dashboard/
Django Version: 4.0.1
Exception Type: AttributeError
Но мне нужно булево поле (checkbox) с ID, а также классы.
Как еще я могу дать булево поле модели формы ID и классам?
Добавить атрибуты к BooleanField я попробовал с помощью этого поста: Как присвоить атрибут id полю BooleanField в ModelForm для jsonresponse
Ваша форма должна выглядеть следующим образом:
class ToggleSettingsForm(forms.ModelForm):
class Meta:
model = ToggleSettings
fields = (
'background',
)
widgets = {
'background': forms.CheckboxInput(attrs={ 'class': 'checkbox', 'id': 'your_id'}))
}
посмотрите документы
Django BooleanField[Django-doc] является не виджетом, а FormField, поэтому измените forms.py как
class ToggleSettingsForm(forms.ModelForm):
class Meta:
model = ToggleSettings
fields = (
'background',
)
widgets = {
'background': forms.CheckboxInput(attrs={'type': 'checkbox', 'class': 'checkbox', 'id': 'your_id'})
}
Вы можете посмотреть Встроенные виджеты[Django Doc] для более подробной информации.