将类添加到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