Django - 将css类添加到admin中的输入字段

时间:2014-02-20 15:14:38

标签: python css django class

我有以下型号:

class InfoBox(models.Model):
    type = models.ForeignKey(InfoBoxType)
    content = models.TextField()
    product = models.ForeignKey(Product)

我想在我的外键中添加一个css类。我尝试了以下内容:

forms.py

class InfoBoxForm(ModelForm):
    class Meta:
        model = InfoBox
        widgets = {
            'type': ChoiceField(attrs={'class': 'hej'}),
        }

我也尝试了这个但结果相同......

class InfoBoxForm(forms.Form):

    type = forms.ChoiceField(
            widget=forms.ChoiceField(attrs={'class':'special'}))

admin.py

class InfoBoxInline(admin.StackedInline):
    model = InfoBox
    extra = 0
    form = InfoBoxForm

但我只是得到了这个:

__init__() got an unexpected keyword argument 'attrs'

我认为这样做很容易,所以我做错了什么......?

1 个答案:

答案 0 :(得分:6)

尝试:

widgets = {
    'type': Select(attrs={'class': 'hej'}),
}

这是您所在领域的正确小部件。

如果您不想覆盖窗口小部件,可以使用:

self.fields['type'].widget.attrs['class'] = 'hej'

在表单的init方法