数据是来自django.utils.datastructures import SortedDict
{'test1': '-10', 'quiz1': '65', 'quiz2': '40', 'quiz3': '55'}
此模板代码:
{% for key1 in Data %}
<td>key: {{ key1|capfirst }} - value: {{Data.key1}} - Data: {{ Data }}</td>
{% endfor %}
收率:
key: Quiz1 - value: - Data: {'test1': '-10', 'quiz1': '65', 'quiz2': '40', 'quiz3': '55'}
key: Quiz2 - value: - Data: {'test1': '-10', 'quiz1': '65', 'quiz2': '40', 'quiz3': '55'}
key: Quiz3 - value: - Data: {'test1': '-10', 'quiz1': '65', 'quiz2': '40', 'quiz3': '55'}
key: Test1 - value: - Data: {'test1': '-10', 'quiz1': '65', 'quiz2': '40', 'quiz3': '55'}
我在Doc中尝试过不同的例子,但我被困住了。
编辑:
我试过这段代码:
<table border="1">
<tr>
{% for key1 in Data %}
<td>{{ key1|capfirst }}</td>
{% endfor %}
</tr>
<tr>
{% for key2 in Data %}
<td>key: {{ key2|capfirst }}| Data: {{Data.key2}}| Static Keyed: {{ Data.quiz1 }}| AllData: {{ Data }}</td>
{% endfor %}
</tr>
<tr>
{% for key,value in Data %}
<td>key: {{key}}: value: {{value}}</td>
{% endfor %}
</tr>
</table>
这就是结果:
<table border="1">
<tr>
<td>Quiz1</td>
<td>Quiz2</td>
<td>Quiz3</td>
<td>Test1</td>
</tr>
<tr>
<td>key: Quiz1| Data: | Static Keyed: 65| AllData: {'test1': '56', 'quiz1': '65', 'quiz2': '75', 'quiz3': '25'}</td>
<td>key: Quiz2| Data: | Static Keyed: 65| AllData: {'test1': '56', 'quiz1': '65', 'quiz2': '75', 'quiz3': '25'}</td>
<td>key: Quiz3| Data: | Static Keyed: 65| AllData: {'test1': '56', 'quiz1': '65', 'quiz2': '75', 'quiz3': '25'}</td>
<td>key: Test1| Data: | Static Keyed: 65| AllData: {'test1': '56', 'quiz1': '65', 'quiz2': '75', 'quiz3': '25'}</td>
</tr>
<tr>
<td>key: : value: </td>
<td>key: : value: </td>
<td>key: : value: </td>
<td>key: : value: </td>
</tr>
</table>
数据存在,但是django不允许我使用变量作为键。我的问题是,我希望表格能够随着传递给它的测试/等级对的数量不断变化而动态增长。这是正常的吗?
编辑:
事实证明,我使用的是不同版本的django,而不是我以前使用的版本。这段代码将完成我在django版本0.96中尝试做的事情:
<tr>
{% for data in Data.items %}
<td>{{data.0}}: {{data.1}}</td>
{% endfor %}
</tr>
感谢所有帮助过的人,即使我最初提供了错误的信息。
答案 0 :(得分:1)
{% for key, value in Data.items %}
<td>key: {{ key|capfirst }} - value: {{ value }} - Data: {{ Data }}</td>
{% endfor %}
答案 1 :(得分:0)
试试这个。以前的解决方案仅适用于django&gt; 1.0
{% for data in Data.items %}
<td>key: {{ data.0 }}: value: {{ data.1 }}</td>
{% endfor %}
答案 2 :(得分:-1)
如果我没错,SortedDict继承自Dict,我认为你可以这样使用它:
{% for key, value in Data %}
<td>key: {{ key|capfirst }} - value: {{value}}</td>
{% endofr %}
但我担心不清楚你的词汇中有什么价值。