Django Template Filter - extra CSS Klasse zu formfields

Django Template Filter - extra CSS Klasse zu formfields

In Mezzanine Formular Feldern fehlt die Bootstrap 3 CSS Klasse “form-control”. Damit die BS3 Design Vorgaben in Mezzanine Formularen angewendet werden kann ein ganz einfacher aber hilfreicher Template-Filter geschrieben werden.

Dieser wird in einer beliebigen App im Unterverzeichnis “templatetags” abgelegt. Im Verzeichnis unbedingt auch die Datei __init__.py erzeugen, damit Django den Filter finden kann.

Hier der Code in der Datei meine_app/templatetags/addcss.py

from django import template
register = template.Library()

@register.filter(name='addcss')
def addcss(field, css):
return field.as_widget(attrs={"class":css})

Im Template wird der Filter geladen und mit folgendem Code verwendet:

{% load addcss %}

{{field|addcss:"form-control"}}

Damit wird dem Formfield die CSS Klasse “form-control” angehängt und das Ergebnis ist wie gewünscht.
Happy Coding.

Aktuell nicht bewertet

Sind Sie bereit für Ihren SEO Erfolg?

Starten Sie mit uns gemeinsam durch.

  Jetzt unverbindlich anfragen!