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