django-tables2 复选框列名称
我用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
1 个回答
8
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")