Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:设置表单属性MultipleChoiceField的选项_Python_Django_Forms - Fatal编程技术网

Python Django:设置表单属性MultipleChoiceField的选项

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

我有以下django表格:

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
的必需参数,否则您的表单可能无效