Django: Добавление классов CSS при отрисовке полей формы в шаблоне

Oneliner :

Thread.currentThread().getStackTrace()[2].getMethodName()

Обратите внимание, что вам может понадобиться заменить 2 на 1.

32
задан Srikar Appalaraju 16 March 2013 в 16:55
поделиться

1 ответ

Обновленный для python3

было просто обновить, просто необходимая круглая скобка на печати и изменении unicode (значение) к ул. (значение), я также просто быстро изменил 'класс = "% s">' к fstring.

import re
from django.utils.safestring import mark_safe
from django import template
register = template.Library()

class_re = re.compile(r'(?<=class=["\'])(.*)(?=["\'])')
@register.filter
def add_class(value, css_class):
    string = str(value)
    match = class_re.search(string)
    if match:
        m = re.search(r'^%s$|^%s\s|\s%s\s|\s%s % (css_class, css_class, 
                                                    css_class, css_class), 
                                                    match.group(1))
        print (match.group(1))
        if not m:
            return mark_safe(class_re.sub(match.group(1) + " " + css_class, 
                                          string))
    else:
        return mark_safe(string.replace('>', f' class="{css_class}">'))
    return value
0
ответ дан 27 November 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: