使用Bootstrap向django.forms控件添加样式

时间:2014-11-13 14:27:15

标签: django twitter-bootstrap

我在HTML页面中有一个表单,我使用Django的forms.Form类生成。我想将样式应用于使用Bootstrap生成的html控件。我发现Bootstrap将样式应用于表单控件,如果它们具有某些类属性,例如form-control。我使用form.as_p指令在表单中包含表单对象。由于我没有在html页面中编写明确的html控件,因此我不知道如何包含class属性以便应用样式。你能帮我解决这个问题,以便我可以将Bootstrap样式应用到我的表单控件吗?

谢谢, 勒凯什。

3 个答案:

答案 0 :(得分:1)

我发现处理此问题的最简单方法是使用crispy-forms

答案 1 :(得分:0)

您可以使用小部件定义它。例如:

class SearchForm(forms.Form):
    q=forms.CharField(widget=forms.TextInput(attrs={'class':'form-control', 'placeholder':'Search'}))

使用ModelForm的另一个例子:

class SearchForm(ModelForm):
    class Meta:
        model = SearchField
        fields = ['name']
        widgets = {
            'name' = forms.TextInput(attrs={'class':'form-control'})
        }

答案 2 :(得分:0)

您还可以在Form的{​​{1}}中指定小部件的类,如下所示。 当您拥有__init__并且不想覆盖默认小部件或字段时,这非常有用。

ModelForm