Python Django:设置表单属性MultipleChoiceField的选项
我有以下django表格:Python Django:设置表单属性MultipleChoiceField的选项,python,django,forms,Python,Django,Forms,我有以下django表格: class SpecifyColumnsForm(forms.Form): columns = forms.MultipleChoiceField(required=False, widget=forms.CheckboxSelectMultiple) 现在,我想从views.py中为这个multipleechoicefield指定选项。我该怎么做? 我尝试了以下方法,但无效: columns_form = SpecifyColumn
class SpecifyColumnsForm(forms.Form):
columns = forms.MultipleChoiceField(required=False,
widget=forms.CheckboxSelectMultiple)
现在,我想从views.py
中为这个multipleechoicefield
指定选项。我该怎么做?
我尝试了以下方法,但无效:
columns_form = SpecifyColumnsForm(request.POST)
columns_form.choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
谢谢 报告本身指出
class MultipleChoiceField(**kwargs)^
[……]
接受一个额外的必需参数choices,如ChoiceField
所以你要做的就是
cool_choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
class SpecifyColumnsForm(forms.Form):
columns = forms.MultipleChoiceField(
required=False,
widget=forms.CheckboxSelectMultiple,
choices=cool_choices)
在your views.py中,必须设置:
choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
form.fields["columns"].choices = choices
这对我来说很有效,我只是不确定您是否可以避免在forms.py中不设置选项。我认为您无论如何都需要将其放在forms.py中,如果这是multipleechoicefield
的必需参数,否则您的表单可能无效