4

次のテーブル クラスがあるとします。

class TestTable(tables.Table):
    id = tables.Column()
    description = tables.Column()

    def render_description(self, value):
        return mark_safe('''<a href=%s>%s</a>''' % (???, value))

render メソッドで列「id」の値にアクセスして、id につながるリンクを作成できますが、「説明」フィールドに依存するテキストを表示することはできますか?

前もって感謝します!

4

2 に答える 2

9

render_FOOのドキュメントを一目見ただけで、次のことができるように見えます。

class TestTable(tables.Table):
    id = tables.Column()
    description = tables.Column()

    def render_description(self, value, record):
        return mark_safe('''<a href=%s>%s</a>''' % (record.id, value)

行レコードの正確な形状がわからないため、そうなる可能性がありますrecord['id']。ドキュメントへのリンクは、探索に役立つはずです...

于 2012-02-04T13:13:57.090 に答える
1

@Darbありがとう、そのオプションは完全に機能します。ただし、テキスト列をハッキングしてhtmlを出力する代わりに、アクセサーを使用してこれを行う方法があるかどうか疑問に思っていました...

私の場合、私は使用します

# tables.py
from django.core.urlresolvers import reverse
from django.utils.safestring import mark_safe
#...

class FieldTable(tables.Table):
allows__count = tables.LinkColumn(viewname=None, attrs={'td': {'class': 'leftA'}},
                                  verbose_name='No. of Allowed values')

    def __init__(self, *args, **kwargs):
    super(FieldTable, self).__init__(*args, **kwargs)

    def render_allows__count(self, value, record):
    if value!=0:
        a = reverse(viewname='dict:field_detail',
                       kwargs=
                       {'field_slug': record.slug,
                        'extract_slug': record.extract.slug,
                        'system_slug': record.extract.system.slug})
        return mark_safe('<a href={}>{}</a>'.format(a, value))

ただし、allows__count のアクセサーを呼び出し、逆のハイパーリンクと値を返すもののために、mark_safe を置き換えたいと思います...

とにかく知っているために働く

于 2016-06-24T18:59:05.120 に答える