我想使用django-tables2来显示电子表格或csv文件中的数据。数据将始终是动态的,因此我需要一种动态添加列到django-tables2表的方法。从文档中似乎没有办法做到这一点。
有什么想法吗?
答案 0 :(得分:2)
在Python中,您可以使用type construct classes dynamically。
让我们使用the docs中的示例,该示例定义了一个包含一列name
的表。
import django_tables2 as tables
data = [
{"name": "Bradley"},
{"name": "Stevie"},
]
class NameTable(tables.Table):
name = tables.Column()
可以使用
动态定义NameTable = type('NameTable', (tables.Table,), {'name': tables.Column()})
电子表格中的数据会更复杂,但应采用相同的方法。