首页 > 解决方案 > Django 动态表单 - 创建选择小部件的问题(下拉菜单)

问题描述

我正在使用 Django 2.2。

我正在创建一个动态表单(未绑定到模型)。我已经设法动态地创建了几个表单输入(包括接受多个选择的输入),但是我在创建一个选择(即下拉)表单输入元素时遇到了问题。

当我{{ form.as_p }}在模板中使用表单呈现表单时,选择表单字段被呈现为复选框。

我已经尝试了以下所有语句,结果都是一样的:表单输入字段仍然呈现为复选框。

form_field = CharField(label=the_label, widget=forms.Select(choices=CHOICES, required=is_required))

form_field = ChoiceField(label=the_label, choices=CHOICES, widget=Select, required=is_required)

form_field = ChoiceField(label=the_label, widget=Select(choices=CHOICES), required=is_required)

如何强制 django 将此字段呈现为选择(下拉)字段?

标签: django

解决方案


这对我来说很好

CHOICES = (('y','yes'),('n','no'))
class MakeForm(forms.Form):
    form_field = forms.CharField(label="label", widget=forms.Select(choices=CHOICES), required=True)

推荐阅读