【问题标题】:It doesnt work to specify CSS class for ModelChoiceField为 ModelChoiceField 指定 CSS 类不起作用
【发布时间】:2014-02-17 20:43:07
【问题描述】:

我已经阅读了一些关于 Widgets 的文档,在 stackoverflow 上查找了几个线程后,我发现有几个人遇到了同样的问题,但他们的解决方案对我不起作用。

我正在尝试为 ModelChoiceField 指定 css 类,但我只收到错误“init() 需要至少 2 个非关键字参数(1 个给定)”。

这是我与此相关的代码:

from django.forms import ModelForm, ModelChoiceField
..
widgets = {'categoryID': ModelChoiceField(queryset="", widget=ModelChoiceField(attrs={'class': 'form-control'})), 
}
..

我在其他两个答案中读到,他们试图将 attrs 属性指定为字段的属性而不是小部件,所以上面我将其指定为小部件的属性,但它仍然不起作用。

有什么想法吗?

【问题讨论】:

    标签: python django


    【解决方案1】:

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

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

    【讨论】:

    • 对,所以 ModelChoiceField 不是小部件..我认为当我在小部件分配中指定选项时更改小部件时,小部件将被更改,但是当我可以使用任何我想要的小部件时仍然得到一个 ModelChoiceField 然后它工作得很好.. 我认为并没有真正看到 ModelChoice 中的“字段”。再次感谢丹尼尔
    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 2019-10-02
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    相关资源
    最近更新 更多