它不能为ModelChoiceField指定CSS类

时间:2014-02-17 20:43:07

标签: python django

我已经阅读了有关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的属性,而不是小部件,因此我将其指定为小部件的属性,但它仍然无效。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

出于某种原因,你试图在小部件字典中传递整个字段。顾名思义,您只需要传递小部件本身。另外,您已将字段和窗口小部件都设置为字段类。显然,小部件实际上需要是一个小部件,而不是一个字段。

widgets = {'categoryID': forms.SelectMultiple(attrs={'class': 'form-control'})}