Django Checkbox选中/取消选中规则

时间:2016-09-10 15:02:40

标签: 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)

我有一堆3种水果 - 苹果,橙子和梨。但是,当加载表单时,我只想预先选择/预先检查Apple。

我知道要选中复选框,请使用attrs={'checked' : 'checked'}字典,但如何在更细粒度的范围内进行?

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

 Name: [Text Field]  

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

1 个答案:

答案 0 :(得分:2)

要完成此操作,您需要使用initial。指定initial值可以设置预选选项。

例如,如果你发送了你的选择:choices = ((1, 'Apple'), (2, 'Orange'), (3, 'Pear')),你会这样做:

fruit_choices = forms.TypedMultipleChoiceField(label="Fruits I Like", required=True, widget=forms.CheckboxSelectMultiple(), choices=choices, initial=1)

如果您希望这是基于规则的,您还可以选择设置initial = my_initial_fruit,其中my_initial_fruit是项目中其他位置定义的函数。

相关问题