【问题标题】:Initial values for CheckboxSelectMultipleCheckboxSelectMultiple 的初始值
【发布时间】:2026-01-19 01:30:01
【问题描述】:

我正在使用以下方法初始化表单:

MultiSubscriptionForm(initial={'email': user.email})

在我的表单中,我还想初始化一个 CheckboxSelectMultiple 小部件来检查一组复选框。我该怎么做?

【问题讨论】:

标签: django forms


【解决方案1】:

实际上或多或少相同,只需传递一个值列表即可。

MultiSubscriptionForm(initial={
    'email': user.email,
    'multiple_field': ['a', 'b', 'c'],
})

【讨论】:

  • 曾经遇到过这样的问题,你尝试了 50 种不同的方法,然后第二天早上醒来,你尝试的第二件事仍然有效,即使你很确定这是你做过的事情之一前一天晚上?这对我来说是其中之一,你的回答成功了(尽管我可以发誓我已经尝试过这个......)谢谢!
  • 我也有同样的问题。请问take a look at this
【解决方案2】:

我遇到了同样的问题,我在哪里需要动态选择具有初始值的多个复选框(默认选择复选框)。我可以通过列表来管理。

mylist=['None','Fixed','Error']

error= forms.MultipleChoiceField(choices = formfields.ErrorType,widget = CheckboxSelectMultiple(),initial = mylist)

如果我在表单类中编写上述代码,则默认情况下会在表单加载时选择 mylist 中的值。您的回答“将值作为列表传递”解决了我的实际问题

谢谢你的线索:-)

-维克拉姆

【讨论】: