使用django-tables2时是否可以将模板标签应用于?

时间:2012-11-08 13:29:23

标签: django django-templates django-tables2

我正在使用django-tables2为我创建表格。我需要将模板标签应用于其中一列中的每个单元格()。为了将模板标签应用于一列,似乎需要花费很多额外的精力来创建自定义表格布局。有没有办法在django-tables2中执行此操作?

更新

我可能没有解释我正在寻找的东西。我不相信这会奏效。

我的代码:

class CombineTable(tables.Table):  
    build_no = tables.LinkColumn('run', args=[A('release'), A('id')], verbose_name="Build")  
    flavor = tables.Column(verbose_name="Flavor")  
    pass_rate_pct = tables.Column(verbose_name="Image Pass Rate")

我希望pass_rate_pct中的每个都使用class()中的模板标记{{pass_rate_color}},其中pass_rate_color然后根据pass_rate_pct的输出输出特定样式。

2 个答案:

答案 0 :(得分:1)

django_tables2允许您指定用于输出表格的备用自定义模板。获取django_tables2 / templates / django_tables2 / table.html的副本并重命名,例如table_pass_rate.html并在第29行输入您的代码:

{% pass_rate_color cell %}

现在生成表时使用:

{% render_table table "table_pass_rate.html" %}

有关详情,请参阅tags的django_tables2代码和template

答案 1 :(得分:0)

尝试重写Table.render_FOO方法,其中foo是列名, 假设您编写了一个自定义模板标记,它将列值作为参数。 例如:

import django_tables2 as tables

class SimpleTable(tables.Table):
    custom_row = tables.Column()
    id = tables.Column()
    age = tables.Column()

    def render_custom_row(self, value):
        return '{% pass_rate_color %s %}' % value