6

django-tables2を使用してテーブルを作成しています。いずれかの列の各セル()にテンプレートタグを適用する必要があります。テンプレートタグを1つの列に適用するためだけに、カスタムテーブルレイアウトを調べて作成するのは、かなりの労力のようです。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 に答える