Custom CSS class in Form with template tag filter

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import re
from django import template


register = template.Library()
CLASS_PATTERN = re.compile(r'\bclass="[\w\d]*"')

def cssclass(value, arg):
    """
    Replace the attribute css class for Field 'value' with 'arg'.
    """
    attrs = value.field.widget.attrs
    orig = attrs['class'] if 'class' in attrs else None

    attrs['class'] = arg
    rendered = str(value)

    if orig:
        attrs['class']
    else:
        del attrs['class']

    return rendered
register.filter('cssclass', cssclass)

More like this

  1. Custom CSS class in Form with template tag filter by fernandogrd 2 years, 6 months ago
  2. Honeypot Field by SmileyChris 7 years ago
  3. tag: render form field by crucialfelix2 4 years, 4 months ago
  4. Dynamically add css-classes to formfields by Lacour 2 years, 9 months ago
  5. Add CSS class template filter by lazerscience 3 years, 5 months ago

Comments

(Forgotten your password?)