“BooleanField”对象在 django 中没有属性“use_required_attribute”

问题描述 投票:0回答:1

正如标题所说,我在使用布尔字段时遇到错误:

“BooleanField”对象在 django 中没有属性“use_required_attribute”

模型.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)
    }

有人可以帮我吗?

谢谢!

python django forms django-forms
1个回答
8
投票

您将表单 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
就足够了。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.