0

我想像这样定义一个通用的 django-tables2 表:

类 GenericTable(tables.Table):
    c1 = tables.TemplateColumn("占位符")

现在,根据我的观点,我想做这样的事情(警告 - 伪代码)

g=GenericTable() # 现在不向表传递数据
g.columns[0].verbose_name="基于视图的特定名称"
g.columns[0].template = "基于视图的特定模板"
g=初始化([...])

有没有办法做到这一点 ?

如果那不可能,是否可以在初始化之前更改 GenericTable 类的定义?

我可以定义许多具有不同 c1 字段的表,但这不会是 DRY :(

4

1 回答 1

2

你可以在 init 方法中......它是一样的:

class GenericTable(tables.Table):

    def __init__(self, name_based_in_the_view, *args, **kwargs):
        super(GenericTable, self).__init__(*args, **kwargs)
        self.base_columns['c1'].verbose_name = name_based_in_the_view

在您看来:

g = GenericTable(name_based_in_the_view = "Specific name based on view")
于 2012-06-06T10:32:38.060 回答