我用django-tables2创建了我的表输出,但是我想在表格列中为复选框创建一个特定的名称。
我该怎么做?
这是我的表绘图类,我修改了列的顺序,以便我的复选框是第一个。
class SimpleTable(tables.Table):
amend = tables.CheckBoxColumn(verbose_name=('Amend'), accessor='pk')
class Meta:
model = SysimpReleaseTracker
attrs = {"class": "paleblue"}
listAttrs = list()
listAttr = list()
listAttrs = SysimpReleaseTracker._meta.fields
listAttr.append('amend')
for x in listAttrs:
listAttr.append('%s' %x.name)
sequence = listAttr
答案 0 :(得分:5)
CheckBoxColumn
有自己独特的标题呈现方式,因此与其他所有列不同,它不会显示verbose_name
。你可以继承CheckBoxColumn
来改变它的行为。
class CheckBoxColumnWithName(tables.CheckBoxColumn):
@property
def header(self):
return self.verbose_name
class SimpleTable(tables.Table):
amend = CheckBoxColumnWithName(verbose_name="Amend", accessor="pk")
或者,您可以使用TemplateColumn
。
class SimpleTable(tables.Table):
amend = TemplateColumn('<input type="checkbox" value="{{ record.pk }}" />', verbose_name="Amend")