首页 > 解决方案 > 呈现一个将列表值显示为复选框值的表单。[列表中的每个条目代表一个复选框字段]

问题描述

是否可以从列表数据呈现表单?

例如让

Cont = ['Brazil' ,'India', 'USA', 'Aus', 'UAE', 'Russia', 'China']

我想向用户展示一个表单,将表单中的条目显示为复选框,我可以将其保存到名为Result= [].

这怎么可能?

标签: djangodjango-formsdjango-views

解决方案


您可以使用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选定的值。


推荐阅读