由於這是您可能希望跨表和字段重用的內容,因此自定義列是一個不錯的主意。例如,子類DateTimeColumn並通過調用BaselinkColumn.render_link添加鏈接:
from django_tables2.columns.linkcolumn import BaseLinkColumn
class LinkedDateTimeColumn(tables.DateTimeColumn):
def __init__(self, viewname, *args, **kwargs):
self.viewname = viewname
super(LinkedDateTimeColumn, self).__init__(*args, **kwargs)
def render(self, *args, **kwargs):
ts = super(LinkedDateTimeColumn, self).render(*args, **kwargs)
view = reverse(self.viewname, args=[kwargs["record"].slug])
return BaseLinkColumn().render_link(view, ts)
# in your tables
timestamp = LinkedDateTimeColumn('your_view_name', "d.m.Y H:i")
我硬編碼字段用於查找網址爲「彈頭」,因爲我的所有車型使用它,但你可以很容易地將其更改爲「pk」或將其添加爲參數。同樣,您可以傳遞給LinkColumn的所有可選參數在此處不存在 - 請重新添加所需的參數。