Applying bootstrap styles to django forms
If you prefer not to use 3rd party tools then essentially you need to add attributes to your classes, I prefer to do this by having a base class that my model forms inherit from
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'
})
Can easily be adjusted... but as you see all my field widgets get the form-control css class applied
You can extend this for specific fields if you wish, here's an example of an inherited form having an attribute applied
class MyForm(BootstrapModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['name'].widget.attrs.update({'placeholder': 'Enter a name'})