django - 在 Django 模板中显示列名而不提前知道它们
问题描述
我有一个要传递给 Django 的查询集。有100列左右。我想在不知道所有列名的情况下将此单个对象呈现为 HTML 列表。我知道我可以使用ListView,但我想要更多的控制在 TemplateView 中做这样的事情(带有额外的图表):
<ul>
{% for obj in queryset %}
<li>
{% for column in obj %}
[Name of Column]: {{ column }}
{% endfor %}
</li>
{% endfor %}
</ul>
所以我想在事先不知道列名的情况下同时呈现列名和列数据。普通我会这样做:
<ul>
{% for obj in queryset %}
<li>
Column 1: {{ obj.column1 }}
Column 2: {{ obj.column2 }}
...
Column 100: {{ obj.column100 }}
</li>
{% endfor %}
</ul>
但这有点乏味,需要手动写出每个列名。
解决方案
你能试试这个
<ul>
{% for obj in queryset %}
<li>
{% for column in obj.column_set.all %}
[Name of Column]: {{ column }}
{% endfor %}
</li>
{% endfor %}
</ul>
推荐阅读
- asp.net-mvc - 从同一控制器中的 2 个不同视图调用 2 个操作。总是调用相同的动作(Route 配置中的第一个)
- reactjs - “对象”类型上不存在属性 - 联合类型
- python - 在 URL 模式中传递 kwargs
- gcc - cygwin64 :: ./configure 返回“配置:退出 77”
- c# - 如何仅映射输入中的属性?
- flutter - 使用 onPressed Flutter 刷新类
- scope - F# 中的范围混淆
- javascript - 试图用实际数据替换占位符文本,但它不起作用
- java - 从前辈打印 Dijkstra 算法
- docker - 容器启动时需要循环命令