django-tables2:在运行时为TemplateColumn设置模板

django-tables2:在运行时为TemplateColumn设置模板,django,django-tables2,Django,Django Tables2,在中,是否可以在表的构造函数中为设置模板名称?我希望能够在运行时选择模板 从文档中,设置模板的唯一方法如下所示: class ExampleTable(tables.Table): foo = tables.TemplateColumn('{{ record.bar }}') # contents of `myapp/bar_column.html` is `{{ value }}` bar = tables.TemplateColumn(template_name='m

在中,是否可以在表的构造函数中为设置模板名称?我希望能够在运行时选择模板

从文档中,设置模板的唯一方法如下所示:

class ExampleTable(tables.Table):
    foo = tables.TemplateColumn('{{ record.bar }}')
    # contents of `myapp/bar_column.html` is `{{ value }}`
    bar = tables.TemplateColumn(template_name='myapp/name2_column.html')

在我的应用程序中,根据应用程序的状态,一列有不同的模板,我希望避免为每个状态创建不同的表类,而只是在运行时交换模板。

您可以尝试在运行时以以下方式更改模板:

e  = ExampleTable( your_query )
e.columns['bar'].column.template_name = 'your_template'

免责声明:未经测试。请测试一下,然后回来。如果不运行,我将删除答案。

Nice。答案写在表2代码中;)强大的工具!