簡體   English   中英

Django:在表單屬性MultipleChoiceField上設置選擇

[英]Django: Set choices on form attribute MultipleChoiceField

我有以下django形式:

class SpecifyColumnsForm(forms.Form):
    columns = forms.MultipleChoiceField(required=False,
    widget=forms.CheckboxSelectMultiple)

現在, 我想從views.py指定此MultipleChoiceField的選擇。 我怎樣才能做到這一點?

我已經嘗試了以下方法,但是沒有用:

        columns_form = SpecifyColumnsForm(request.POST)
        columns_form.choices = (('somestuff', 'spam'),
                                ('otherstuff', 'eggs'),
                                ('banana', 'bar'))

謝謝!

文檔本身指出

class MultipleChoiceField(**kwargs)¶

[...]

與ChoiceField一樣,接受一個額外的必需參數choices。

所以你要做的就是

cool_choices = (('somestuff', 'spam'),
                ('otherstuff', 'eggs'),
                ('banana', 'bar'))

class SpecifyColumnsForm(forms.Form):
    columns = forms.MultipleChoiceField(
        required=False,
        widget=forms.CheckboxSelectMultiple,
        choices=cool_choices)

在您的views.py中,您必須設置:

choices = (('somestuff', 'spam'),
           ('otherstuff', 'eggs'),
           ('banana', 'bar'))
form.fields["columns"].choices = choices

這對我有用,我不確定您是否可以避免在Forms.py中不設置choices 我認為您無論如何都需要將其放入forms.py中,如果這是MultipleChoiceField的必需參數,否則您的表單可能無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM