Python Django将dict作为表添加到模板中
如何使用Django将字典添加到模板中 只是想把所有的信息放在一张漂亮的桌子上 我有以下意见:Python Django将dict作为表添加到模板中,python,django,django-templates,Python,Django,Django Templates,如何使用Django将字典添加到模板中 只是想把所有的信息放在一张漂亮的桌子上 我有以下意见: {'Information': {0: 'size', 1: 'energy [kWh]', 2: 'ratio [PR]'}, 'Value': {0: 570.66, 1: 984092.66, 2: 81.7}} 试图在值[0]%中为v使用{%v}-无法分析剩余值:“[0]”来自“值[0]” HTML部分 <div> <table&g
{'Information': {0: 'size', 1: 'energy [kWh]', 2: 'ratio [PR]'}, 'Value': {0: 570.66, 1: 984092.66, 2: 81.7}}
试图在值[0]%中为v使用{%v}
-无法分析剩余值:“[0]”来自“值[0]”
HTML部分
<div>
<table>
<tr>
<th>Information</th>
<th>Value</th>
</tr>
<tr>
{% for key, values in dict_data.items %}
{% for v in values %}
<td>{{v}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
</div>
问询处
价值
{键为%,dict_data.items%中的值}
{值%中的v为%0}
{{v}
{%endfor%}
{%endfor%}
结果是:
谢谢我认为您的HTML与您所说的结果不匹配;您的
信息
标题在值
标题之前,但在您的输出中,值
位于第一位。此外,您只有两个标题
,但嵌套字典有3个值,因此当前处理数据的方式将导致表体中的单元格多于标题
另一个问题是:你的值也是一个dict,因此{%for v in values%}
只会得到嵌套dict的键(0
,1
,2
),而你永远不会得到嵌套的值(size
,energy[kWh]
,ratio[PR]
)。您可能需要以下内容:
{% for key, values in dict_data.items %}
{% for sub_key, sub_value in values.items %}
另外:每行处理一个键/值集,因此表的第一行将具有信息
值,第二行将具有值
值(反之亦然),但您需要的是信息中的一个值和每行值中的一个值。因此,最终您需要以不同的方式构建数据(可能是成对的)
我将使用信息/值对,而不是您当前的结构:
dict_data = {'Information': {0: 'size', 1: 'energy [kWh]', 2: 'ratio [PR]'}, 'Value': {0: 570.66, 1: 984092.66, 2: 81.7}}
info_value_pairs = [('size', 570.66), ('energy [kWh]', 984092.66), ('ratio [PR]', 81.7)]
然后在模板中:
{% for pair in info_value_pairs %}
<tr><td>{{ pair.0 }}</td><td>{{ pair.1 }}</td></tr>
{% endfor %}
{info\u value\u pairs%}
{{pair.0}{{pair.1}
{%endfor%}
我认为您的HTML与您所说的不匹配;您的信息
标题在值
标题之前,但在您的输出中,值
位于第一位。此外,您只有两个标题
,但嵌套字典有3个值,因此当前处理数据的方式将导致表体中的单元格多于标题
另一个问题是:你的值也是一个dict,因此{%for v in values%}
只会得到嵌套dict的键(0
,1
,2
),而你永远不会得到嵌套的值(size
,energy[kWh]
,ratio[PR]
)。您可能需要以下内容:
{% for key, values in dict_data.items %}
{% for sub_key, sub_value in values.items %}
另外:每行处理一个键/值集,因此表的第一行将具有信息
值,第二行将具有值
值(反之亦然),但您需要的是信息中的一个值和每行值中的一个值。因此,最终您需要以不同的方式构建数据(可能是成对的)
我将使用信息/值对,而不是您当前的结构:
dict_data = {'Information': {0: 'size', 1: 'energy [kWh]', 2: 'ratio [PR]'}, 'Value': {0: 570.66, 1: 984092.66, 2: 81.7}}
info_value_pairs = [('size', 570.66), ('energy [kWh]', 984092.66), ('ratio [PR]', 81.7)]
然后在模板中:
{% for pair in info_value_pairs %}
<tr><td>{{ pair.0 }}</td><td>{{ pair.1 }}</td></tr>
{% endfor %}
{info\u value\u pairs%}
{{pair.0}{{pair.1}
{%endfor%}
如果您只有我提到的dict-{'Information':{0:'size',1:'energy[kWh',2:'ratio[PR]},'Value':{0:570.66,1:984092.66,2:81.7}
-您如何编写包含所有键和嵌套值的HTML表?还有什么比dict更合适的方法吗?(我有一个数据帧转换成dict)-谢谢!你会推荐什么样的数据结构呢?我添加了一个例子,说明如何以不同的方式传递数据,如果你只有我提到的dict-{'Information':{0:'size',1:'energy[kWh]',2:'ratio[PR]'},'Value':{0:570.66,1:984092.66,2:81.7}
-如何编写包含所有键和嵌套值的HTML表?还有什么比dict更合适的方法吗?(我有一个数据帧转换成dict)-谢谢!您建议采用什么样的方式来构造数据?我添加了一个示例,说明如何以不同的方式传递数据,并使用它(每行的信息/值对)