forms.py
LANGUAGE_CHOICE = (
('C', 'C'),
('cplus', 'C++'),
('csharp', 'C#'),
('html', 'Html'),
)
language = forms.ChoiceField(choices=LANGUAGE_CHOICE, label= "Programming Language you know:",widget= forms.CheckboxSelectMultiple())
templates / formview.html
<div class="row">
<div class="col-sm-6 label_field">
<label for="{{form.language.id_for_label}}"{{form.language.label}}</label>
</div>
<div class="col-sm-6">
{% for checkbox in form.language %}
{{checkbox}}<br>
{% endfor %}
</div>
</div>
验证错误
选择一个有效的选择。 ['C','csharp','html']不是以下内容之一 可用的选择。
任何人都可以帮助我解决CheckboxSelectMultiple的验证错误
答案 0 :(得分:1)
表单字段(forms.ChoiceField
)与您选择的小部件之间不匹配。表单字段希望选择并过帐单个选项。如果要存储所选选项的列表,则应使用其他表单字段类型,最有可能是https://docs.djangoproject.com/en/2.1/ref/forms/fields/#multiplechoicefield。