我已经阅读了有关Widgets的一些文档,在查看了stackoverflow上的几个线程之后,我发现有几个人遇到了同样的问题,但他们的解决方案对我不起作用。
我正在尝试为ModelChoiceField指定css类,我只得到错误“ init ()至少需要2个非关键字参数(给定1个)”。
这是我与此相关的代码:
from django.forms import ModelForm, ModelChoiceField
..
widgets = {'categoryID': ModelChoiceField(queryset="", widget=ModelChoiceField(attrs={'class': 'form-control'})),
}
..
我在其他两个答案中读到,他们试图将attrs属性指定为Field的属性,而不是小部件,因此我将其指定为小部件的属性,但它仍然无效。
有什么想法吗?
答案 0 :(得分:1)
出于某种原因,你试图在小部件字典中传递整个字段。顾名思义,您只需要传递小部件本身。另外,您已将字段和窗口小部件都设置为字段类。显然,小部件实际上需要是一个小部件,而不是一个字段。
widgets = {'categoryID': forms.SelectMultiple(attrs={'class': 'form-control'})}