を使用するか、メソッドTemplateColumnを作成するかの 2 つのオプションがあります。render_FOO
を使用した例を次に示しTemplateColumnます (テンプレートのレンダリングに使用されるコンテキストにレコードが追加されていることがわかるため、pkviaにアクセスできrecord.pkます。
TEMPLATE = '''
<a href="{% url some_url_edit record.pk %}" class="tbl_icon edit">Edit</a>
<a href="{% url some_url_del record.pk %}" class="tbl_icon delete">Delete</a>
'''
class MyTable(tables.Table):
column_name = tables.TemplateColumn(TEMPLATE)
を使用した例render_FOO:
from django.utils.safestring import mark_safe
from django.core.urlresolvers import reverse
class MyTable(tables.Table):
column_name = tables.Column()
def render_column_name(self, record):
edit_url = reverse("some_url_edit", args=[record.pk])
del_url = reverse("some_url_del", args=[record.pk])
return mark_safe('''<a href="%s" class="tbl_icon edit">Edit</a>
<a href="%s" class="tbl_icon delete">Delete</a>'''
% (edit_url, del_url))
ご覧のとおりTemplateColumn、あなたの場合、アプローチはおそらく少しきれいです。