标题显示我在使用布尔字段时遇到错误:
'BooleanField'对象在django中没有属性'use_required_attribute'
Models.py
class contactData(models.Model):
...
mapActivated = models.BooleanField(default=True)
forms.py:
class ContactForm(forms.ModelForm):
class Meta:
model = contactData
fields = [
'vision',
'horario',
'image_path',
'mapActivated',
]
labels = {
'image_path': '',
}
widgets = {
'mapActivated': forms.BooleanField(required=True)
}
有人可以帮我吗?
谢谢!
答案 0 :(得分:3)
您将表单 fields 与表单 widgets 混淆。 forms.BooleanField
[Django-doc]不是 小部件,它是一个表单字段。小部件例如是CheckboxInput
[Django-doc],它指定如何以HTML形式呈现它。
您可以将字段指定为:
class ContactForm(forms.ModelForm):
mapActivated = forms.BooleanField(required=True)
class Meta:
model = contactData
fields = [
'vision',
'horario',
'image_path',
'mapActivated',
]
labels = {
'image_path': '',
}
通过将其设置为required=True
,您需要用户选中该复选框。这本身可能不是您想要执行的操作。如果用户可以自由选择/取消选中它。删除required=True
就足够了。