Bog*_*dan 3 python django 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
Run Code Online (Sandbox Code Playgroud)
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")
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用TemplateColumn.
class SimpleTable(tables.Table):
amend = TemplateColumn('<input type="checkbox" value="{{ record.pk }}" />', verbose_name="Amend")
Run Code Online (Sandbox Code Playgroud)