2015-04-28 77 views
0

我想將class="form-control"(引導程序3)添加到我自定義的Django表單中。Django ChoiceField中的覆蓋類屬性/ select

我的領域需要在我的模板如下渲染(只是爲了證明我沒有使用{{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'

+0

你檢查[Django的bootstrap3(HTTPS: //github.com/dyve/django-bootstrap3),它允許使用Boostrap類來渲染Django表單? – aumo

+0

ChoiceField是一個字段,而不是一個小部件。 –

回答

0

您可以簡單地使用forms.Select()

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