{% for hop in hops %}
<tr>
<td>{{ hop.name }}</td>
<td>{{ hop.mass }}</td>
<td>
{% for item in hop.items %}
{% ifequal item.0 'boil time' %}
{{ item.1 }}
{% endifequal %}
{% endfor %}
</td>
</tr>
{% endfor %}
型 因此,使用您的代码,我们最终得到:
{% for hop in hops %}
<tr>
<td>{{ hop.name }}</td>
<td>{{ hop.mass }}</td>
<td>
{% for key, value in hop.items %}
{% ifequal key 'boil time' %}
{{ value }}
{% endifequal %}
{% endfor %}
</td>
</tr>
{% endfor %}
型 在Django 0.96(Google AppEnginge上的版本)中,这变成了:
{% for hop in hops %}
<tr>
<td>{{ hop.name }}</td>
<td>{{ hop.mass }}</td>
<td>
{% for item in hop.items %}
{% ifequal item.0 'boil time' %}
{{ item.1 }}
{% endifequal %}
{% endfor %}
</td>
</tr>
{% endfor %}
型 甚至还有一种更冗长的方法来实现它,使用regroup标签:
{% regroup hop.items by 'boil time' as bt %}
{% for item in bt %}
{% if forloop.first %}
{% for item2 in item.list %}
{% for item3 in item2 %}
{% if not forloop.first %}
{{ item3 }}
{% endif %}
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
4条答案
按热度按时间mlnl4t2r1#
最好的方法是将属性名隐藏到另一个变量中,如下所示:
字符串
在Django 0.96(Google AppEngine使用的版本)中,模板语言不支持元组扩展,所以它有点丑陋:
型
因此,使用您的代码,我们最终得到:
型
在Django 0.96(Google AppEnginge上的版本)中,这变成了:
型
甚至还有一种更冗长的方法来实现它,使用regroup标签:
型
3htmauhk2#
你可以使用djangosnippets的
get
过滤器:http://www.djangosnippets.org/snippets/1412/(重命名密钥可能更好……)
q0qdq0h23#
对于django 0.96,这是Google Appengine用于模板的内容,下面的操作是可行的:
字符串
item.0是键,item.1是值。 linq
jv2fixgn4#
如果你的字典键包含空格,你仍然可以使用Jinja模板。您可以使用模板中的[]语法访问带有空格的字典键。
例如:{{ hop[“boil time”] }}