我有以下django表格:
class SpecifyColumnsForm(forms.Form):
columns = forms.MultipleChoiceField(required=False,
widget=forms.CheckboxSelectMultiple)
现在,我想从MultipleChoiceField
指定此views.py
的选项。我怎么能这样做?
我尝试了以下方法,但它无效:
columns_form = SpecifyColumnsForm(request.POST)
columns_form.choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
谢谢!
答案 0 :(得分:3)
documentation本身表明
class MultipleChoiceField(**kwargs)¶
[...]
选择一个额外的必需参数,就像ChoiceField一样。
所以你要做的就是
cool_choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
class SpecifyColumnsForm(forms.Form):
columns = forms.MultipleChoiceField(
required=False,
widget=forms.CheckboxSelectMultiple,
choices=cool_choices)
答案 1 :(得分:1)
在views.py中,您必须设置:
choices = (('somestuff', 'spam'),
('otherstuff', 'eggs'),
('banana', 'bar'))
form.fields["columns"].choices = choices
这对我有用,我不确定你是否可以避免在forms.py中设置choices
。我认为无论如何你需要将它放在forms.py中,如果这是MultipleChoiceField
的必需参数,否则你的表单可能无效。