如何使用 django-tables2 加载非结构化非查询集数据

how to load unstructured non-queryset data with django-tables2

我想使用 django-tables2 来显示来自电子表格或 csv 文件的数据。数据将始终是动态的,因此我需要一种动态添加列到我的 django-tables2 table 的方法。从文档来看,似乎没有办法做到这一点。

有什么想法吗?

在Python中,您可以使用类型construct classes dynamically

让我们使用 the docs 中的例子,它定义了一个 table 一列,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()})

电子表格中的数据会更复杂,但同样的方法应该有效。