如何在Jinja2上解压缩多个变量

时间:2013-07-08 06:59:24

标签: python jinja2

我正在尝试在jinja模板引擎上解压缩多个变量。我怎样才能做到这一点?

我正在努力实现这样的目标;

{% for item1, item2, item3 in items %}
<div class="row">
  <div class="four columns">
    <img src="static{{ item1.pics.0 }}" class="picitem" alt=""/>
  </div>

  <div class="four columns">
    <img src="static{{ item2.pics.0 }}" class="picitem" alt="" />
  </div>

  <div class="four columns">
    <img src="static{{ item3.pics.0 }}" class="picitem" alt=""/>      
  </div>
</div>
{% endfor %}

这显然无法通过给予;

ValueError: too many values to unpack

任何想法都会受到赞赏。

2 个答案:

答案 0 :(得分:6)

使用batch filter迭代块:

{% for tmp in items|batch(3) %}
  <div class="row">
    {% for item in tmp %}
      <div class="four columns">
        <img src="static{{ item.pics.0 }}" class="picitem" alt=""/>
      </div>
    {% endfor %}
  </div>
{% endfor %}

答案 1 :(得分:0)

你必须重建你的'物品'以使拆包工作。

例如:

item1 = [1,2,3]
item2 = [a,b,c]
item3 = [11,22,33]

items = zip(item1, item2, item3)

将此信息发送给模板。希望它有所帮助。