我想使用bootstrap来获得一个像样的网站设计,遗憾的是我不知道表单字段的样式。我在说这个:
<form class="form-horizontal" method="POST" action="."> {% csrf_token %}
{{ form.title.label }}
{{ form.title }}
</form>
如何设计这个?我试过这个:
<form class="form-horizontal" method="POST" action="."> {% csrf_token %}
<div class="form-control">
{{ form.title.label }}
{{ form.title }}
</div>
</form>
这显然没有给我想要的结果。
如何将引导程序样式应用于django表单?
答案 0 :(得分:12)
如果您不想使用第三方工具,那么基本上您需要为您的类添加属性,我更喜欢通过拥有我的模型形式继承自的基类来实现这一点
class BootstrapModelForm(ModelForm):
def __init__(self, *args, **kwargs):
super(BootstrapModelForm, self).__init__(*args, **kwargs)
for field in iter(self.fields):
self.fields[field].widget.attrs.update({
'class': 'form-control'
})
可以很容易地调整...但是当你看到我的所有字段小部件都应用了form-control css类时
如果您愿意,可以针对特定字段对此进行扩展,以下是已应用属性的继承表单的示例
class MyForm(BootstrapModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['name'].widget.attrs.update({'placeholder': 'Enter a name'})