django - 呈现一个将列表值显示为复选框值的表单。[列表中的每个条目代表一个复选框字段]
问题描述
是否可以从列表数据呈现表单?
例如让
Cont = ['Brazil' ,'India', 'USA', 'Aus', 'UAE', 'Russia', 'China']
我想向用户展示一个表单,将表单中的条目显示为复选框,我可以将其保存到名为Result= []
.
这怎么可能?
解决方案
您可以使用MultipleChoiceField
表单字段 [Django-doc]作为小部件CheckboxSelectMultiple
[Django-doc]:
from django import forms
COUNTRIES = ['Brazil', 'India', 'USA', 'Aus', 'UAE', 'Russia', 'China']
class MyForm(forms.Form):
countries = forms.MultipleChoiceField(
choices=[(c, c) for c in COUNTRIES],
widget=forms.CheckboxSelectMultiple
)
如果您将 POST 数据提交到MyForm
实例并对其进行验证,则清理后的数据将包含countries
选定的值。