我正在使用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的输出输出特定样式。
答案 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" %}
答案 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