我正在像这样的{{ form.first_name }}
模板中输出表单的字段,我想添加一个类(例如,蓝图是span-x级).所以我想知道有没有很好的现成解决方案(过滤模板),我可以在时尚{{ form.first_name|add_class:"span-4" }}
中使用?(我只想知道Django的开发人员或任何人在我自己做之前是否在我不知道的情况下想到了这一点)
我正在像这样的{{ form.first_name }}
模板中输出表单的字段,我想添加一个类(例如,蓝图是span-x级).所以我想知道有没有很好的现成解决方案(过滤模板),我可以在时尚{{ form.first_name|add_class:"span-4" }}
中使用?(我只想知道Django的开发人员或任何人在我自己做之前是否在我不知道的情况下想到了这一点)
为了解决这个问题,我制作了自己的过滤模板,你可以将它应用于任何标签,而不仅仅是输入元素!
class_re = re.compile(r'(?<=class=["\'])(.*)(?=["\'])')
@register.filter
def add_class(value, css_class):
string = unicode(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('>', ' class="%s">' % css_class))
return value