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 3 months, 3 weeks ago
  2. Dynamically add css-classes to formfields by Lacour 7 months ago
  3. Add CSS class template filter by lazerscience 1 year, 3 months ago
  4. Honeypot Field by SmileyChris 4 years, 10 months ago
  5. tag: render form field by crucialfelix2 2 years, 2 months ago

Comments

(Forgotten your password?)