覆盖Django ChoiceField中的class属性/ select

时间:2015-04-28 13:00:18

标签: django django-forms

我想将class="form-control"(Bootstrap 3)添加到我的自定义Django表单中。

我的字段需要在我的模板中呈现如下(仅显示我没有使用{{form}}

{% for field in form.visible_fields %}
    {{ field }}
{% endfor %}

我意识到Meta类应该用来覆盖widgets,例如如下TextField

class Meta:
    ...
    widgets = {
        'info': forms.TextInput(attrs={'class': 'form-control'}),
    }

这样可行,但我的一个表单元素是<select>字段。

我试过以下,但没有运气。有了以下内容:

widgets = {
     'tags': forms.ChoiceField(attrs={'class': 'form-control'}),
}

我明白了:

  

__init__() got an unexpected keyword argument 'attrs'

1 个答案:

答案 0 :(得分:0)

您只需使用forms.Select()

即可
widgets = {
    'tags': forms.Select(attrs={'class': 'form-control'}), 
    'info': forms.TextInput(attrs={'class': 'form-control'}),
}