我正在像这样的{{ 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

Django相关问答推荐

Django:作为模型中的列表元素的字段

新的 Django 开发人员无法在网站上显示Hello World,而不是默认安装成功页面

如何在Django管理自定义筛选器中包含自定义模型方法?

DJANGO 获得模型中发现的第一、第二和第三大价值

`.objects` 属性在哪里添加到 Django 的 models.Model 类中的实例命名空间?

如何删除django请求中的重复项

AttributeError:模块rest_framework.serializers在 Swagger 中的 Django 中没有属性NullBooleanField

QuerySet对象在bulk_update中没有属性pk

如何根据反向外键相关模型的字段过滤 QuerySet?

django - 让用户登录到测试客户端

可插拔应用程序的Django默认设置约定?

Django 相当于 COUNT 和 GROUP BY

如何在 forms.Form 子类上动态设置 models.ModelChoiceField 的查询集

Django error:不能分配必须是实例

具有基于类的视图的 cache_page

CherryPy 与 Django

如何按名称设置 django 模型字段?

Django 存储匿名用户数据

如何获取经过身份验证的用户列表?

过滤查询参数