backend/django
Django: add attrs to django form
seul chan
2018. 7. 22. 16:59
1. add attrs in widget
number = forms.CharField(widget=forms.TextInput(attrs={'autocomplete': 'off', 'type': 'number'}))
2. use __init__
class YourModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(YourModelForm, self).__init__(*args, **kwargs)
self.fields['number'].widget.attrs.update({
'autocomplete': 'off',
'type': 'number',
})
3. use Meta
class YourModelForm(ModelForm):
class Meta:
model = YourModel
fields = ('number', 'title', 'birth_date')
widgets = {
'number': Textarea(attrs={'autocomplete': 'off', 'type': 'number'}),
}
4. django-widget-tweaks
{% load widget_tweaks %}
...
<div class="field">
{{ form.number|attr:"autocomplete:off"|add_class:"my_css_class" }}
</div>