更改django-tables中的类型列2



填充表

mydata.append({
            'bool_access': True,
            'path': path
        })
table = mytable(data=mydata)
----> render table

class mytable(tables.Table):
    path = tables.Column(verbose_name='My path')
    # path = tables.LinkColumn('page_web', args=[A('path')],verbose_name='My path')
    bool_access = ""
    class Meta:
        attrs = {'class': 'table table-bordered table-striped table-condensed'}
        sequence = ('path')

想要

我希望,如果a在我的数据中使用bool_access添加一行,则在" true"中,path的列类型为 tables.LinkColumn,否则,如果 bool_access在" false" at" false"列,则列类型为 tables.Column

事先感谢您的任何帮助。

有多种方法可以解决此问题,但我认为最直接的方法是使用TemplateColumn

class MyTable(tables.Table):
    path = tables.TemplateColumn(
        verbose_name='My path', 
        template_code="""{% if record.bool_access %}<a href="{% url "page_web" record.path %}">{{ record.path }}</a>{% else %}{{ record.path }}{% endif %}""")
    class Meta:
        attrs = {'class': 'table table-bordered table-striped table-condensed'}
        sequence = ('path')

相关内容

  • 没有找到相关文章

最新更新