django-tables2复选框列名

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)

Sun*_*eUp 6

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)