2014-02-20 22 views
0

django-tables2是否可以在表的構造函數中爲TemplateColumn設置template_name?我希望能夠在運行時選擇模板。django-tables2:在運行時爲TemplateColumn設置模板

從文檔設置模板的唯一方法是這樣的:

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') 

在我的應用程序有不同的模板取決於狀態的應用程序一米欄,我想避免創建每個狀態都有不同的Table類,而只是在運行時交換模板。

回答

1

您可以嘗試在運行時以這種方式來改變模板:

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

免責聲明:未經測試。請測試你並回來。如果不運行,我會刪除答案。

+0

This Works,thanks! – mzu

+0

不錯。答案寫的是挖掘table2代碼;)強大的工具! – danihp