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
- Mask sensitive data from logger by agusmakmun 1 week, 4 days ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 2 months ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 1 year, 2 months ago
- Serializer factory with Django Rest Framework by julio 1 year, 9 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 10 months ago
Comments
Please login first before commenting.