我有以下型号:
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'
我认为这样做很容易,所以我做错了什么......?
答案 0 :(得分:6)
尝试:
widgets = {
'type': Select(attrs={'class': 'hej'}),
}
这是您所在领域的正确小部件。
如果您不想覆盖窗口小部件,可以使用:
self.fields['type'].widget.attrs['class'] = 'hej'
在表单的init方法
中