Django复选框已选中/未选中规则

Django复选框已选中/未选中规则,django,django-forms,Django,Django Forms,给定带有一些字段的Django表单: class FruitsForm(forms.Form): fruit_choices = forms.TypedMultipleChoiceField("Fruits I Like", required=True, widget=forms.CheckboxSelectMultiple()) name = forms.CharField(required=True, max_length=20) 我有一束三种水果——苹果、橘子和梨

给定带有一些字段的Django表单:

class FruitsForm(forms.Form):
    fruit_choices = forms.TypedMultipleChoiceField("Fruits I Like", required=True,
    widget=forms.CheckboxSelectMultiple())
    name = forms.CharField(required=True, max_length=20)
我有一束三种水果——苹果、橘子和梨。然而,在加载表单时,我只希望预选择/预检查Apple

我知道要选中复选框,请使用
attrs={'checked':'checked'}
字典,但如何在更细粒度的级别上执行呢

换句话说,我希望表格看起来:

 Name: [Text Field]  

 Fruits I Like: Apple  [X]
 Fruits I Like: Orange [ ]
 Fruits I Like: Pear   [ ]

要实现这一点,您需要使用。通过指定
初始值
可以设置预选选项

例如,如果您发送的选项如下:
choices=((1,“苹果”),(2,“橙色”),(3,“梨”))
,您将执行以下操作:

fruit\u choices=forms.TypedMultipleChoiceField(label=“Fruits I Like”,required=True,
widget=forms.CheckboxSelectMultiple(),choices=choices,initial=1)


如果您希望这是基于规则的,您也可以,例如,选择设置
initial=my_initial\u fruit
,其中
my_initial\u fruit
是项目中其他地方定义的函数。

只需添加最后一件事:如果
initial
有多个值,则将其列为一个列表。例如
initial=[1,2]