I have a dictionary
data = {\'sok\': [ [1, 10] ], \'sao\': [ [1, 10] ],\'sok&sao\':[ [2,20]] }
How Can I (Loop trough Dictionary ) pres
Unfortunately, django templates do not deal with Python tuples. So it is not legal to use "for author, values" in the template. Instead, you must access tuple or array values by their index by using ".index", as in "tuple.0" and "tuple.1".
<table>
<tr>
<td>author</td>
<td>qty</td>
<td>Amount</td>
</tr>
{% for entry in data.items %}
<tr>
<td>{{entry.0}}</td>
{% for v in entry.1 %}
<td>{{v}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
You can use the dict.items()
method to get the dictionary elements:
<table>
<tr>
<td>author</td>
<td>qty</td>
<td>Amount</td>
</tr>
{% for author, values in data.items %}
<tr>
<td>{{author}}</td>
{% for v in values.0 %}
<td>{{v}}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
In a project im working on now, i have had the same problem, thanks to your replies i've ended up doing something like this and it worked fine:
<table border=1 cellpadding=1 cellspacing=1>
<tr>
<td>author</td>
<td>qty</td>
<td>Amount</td>
</tr>
{% for k,v in resultado.iteritems %}
<tr><td> {{ k }} </td><td>{{ v[0] }}</td><td> {{ v[1] }} </td></tr>
{% endfor %}
</table>