6

我正在使用 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 中的每个都使用类 () 中的模板标签 {{pass_rate_color}},其中 pass_rate_color 然后根据 pass_rate_pct 的输出输出特定的样式。

4

2 回答 2

2

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" %}

有关更多信息,请参阅标签的 django_tables2代码模板

于 2013-04-11T23:08:19.487 回答
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
于 2012-11-08T19:59:13.043 回答