The admin site uses a CSS class for each kind of field so that they can be styled easily. This snippet gives ModelForms a similar feature.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def add_css_classes(f, **kwargs):
"""
Formfield callback that adds a CSS class to every field indicating
what kind of field it is. For example, all CharField inputs will get
a class of "vCharField". If the field's widget already has a
"class" attribute, it will be left alone.
Example:
class MyForm(forms.ModelForm):
formfield_callback = add_css_classes
"""
field = f.formfield(**kwargs)
if field and 'class' not in field.widget.attrs:
field.widget.attrs['class'] = 'v%s' % field.__class__.__name__
return field
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.