Python 如何制作通用模板来呈现作为html表传递给它的任何查询集?

Python 如何制作通用模板来呈现作为html表传递给它的任何查询集?,python,django-templates,Python,Django Templates,我需要制作一个django模板,将任何queryset呈现为一个表。这意味着我不知道将有多少列,也不知道键名是什么。因此,模板将接收一个上下文,其中包含一个名为“data”的查询集,模板将从中通过键进行写入以创建列标题,然后通过每一行进行写入,在正确的列中写出行值。我能够将任何函数应用于queryset,例如values()、serialize等。当将其放置在上下文中时,我无法控制列的数量及其名称,因为这是由可以以可变方式构造的查询确定的。我没有问题得到一个列表,并通过他们的标题键。我的问题是无

我需要制作一个django模板,将任何queryset呈现为一个表。这意味着我不知道将有多少列,也不知道键名是什么。因此,模板将接收一个上下文,其中包含一个名为“data”的查询集,模板将从中通过键进行写入以创建列标题,然后通过每一行进行写入,在正确的列中写出行值。我能够将任何函数应用于queryset,例如values()、serialize等。当将其放置在上下文中时,我无法控制列的数量及其名称,因为这是由可以以可变方式构造的查询确定的。我没有问题得到一个列表,并通过他们的标题键。我的问题是无法指定特定键名时的数据行。有没有一种方法可以使用itterate和next()。我欢迎所有建议。谢谢。

答案是:用 数据=查询集,以及 data_key=密钥列表

<table>
    <thead>
        <tr>
        {% for data_key in data_keys %}
            <th>{{ data_key }}</th>
        {% endfor %}
        </tr>
    </thead>
    <tbody>
        {% for row in data %}
         <tr>
            {% for row_item in row.values %}
                <td>{{ row_item }}</td>
            {% endfor %}
        </tr>
        {% endfor %}
    </tbody>
</table>

{data_keys%中的data_keys为%1}
{{data_key}}
{%endfor%}
{数据%中的行为%1}
{row.values%}中的第_行项目为%
{{row_item}}
{%endfor%}
{%endfor%}