将类添加到Django label_tag()输出

我需要一些方法来向class字段的label_tag()方法的输出中添加类属性。

我看到可以通过attrs词典,并且已经在shell中对其进行了测试,可以执行以下操作:

for field in form:

print field.label_tag(attrs{'class':'Foo'})

我将在输出中看到class ='Foo',但是我看不到从模板添加attrs参数的方法-实际上,模板是专门针对此设计的,不是吗?

我的表单定义中是否可以定义要在标签中显示的类?

在表单中,我可以执行以下操作为输入提供一个类

self.fields['some_field'].widget.attrs['class'] = 'Foo'

我只需要让它也输出类。

回答:

一个自定义模板标签似乎是解决方案。自定义过滤器也可以,尽管它可能不太优雅。但是,在两种情况下,您都需要使用自定义表单呈现。

如果这是一项高度重要的任务;我将创建一个Mixin,它允许我用标签类注释表单字段,并使用这些类提供表单呈现方法。这样以下代码即可工作:

{{ form.as_table_with_label_classes }}

但是我想问一下;您是否真的需要在标签标签上上课?我的意思是HTML设计。绝对有必要在其中添加一个类吗?不能用一些CSS来解决它:

encapsulating_selector label {

some-attr: some-value;

}

以上是 将类添加到Django label_tag()输出 的全部内容, 来源链接: utcz.com/qa/429265.html

回到顶部