を使用するか、メソッドTemplateColumn
を作成するかの 2 つのオプションがあります。render_FOO
を使用した例を次に示しTemplateColumn
ます (テンプレートのレンダリングに使用されるコンテキストにレコードが追加されていることがわかるため、pk
viaにアクセスでき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
、あなたの場合、アプローチはおそらく少しきれいです。