2017-07-18 61 views
2

我有一个瓶神社产生一个表,看起来像一个HTML模板,它循环:瓶模板 - 对于循环迭代键:值

<tbody> 
    {% for segment in segment_details %} 
    <tr> 
     <td>{{segment}}</td> 
     <td>{{segment_details['{{segment}}']}}</td> 
    </tr> 
    {% endfor %} 
</tbody> 

我试图通过迭代具有不同长度/键的文档,并将表中的每一行作为键和值。在我的Python代码我这有其在外壳所需的响应:

 for item in segment_details: 
      print(item, segment_details[item]) 

但在瓶我获得该项目正确列出所有的行,但

{{segment_details['{{segment}}']}}

”不是个没有产生任何价值,我尝试过,没有单引号。这可能吗?

+1

你尝试删除'{{}}''左右segment'? – Wondercricket

回答

1

这是你的错误是:

<td>{{segment_details['{{segment}}']}}</td> 

没有必要为{{ }}内。 这应该只是:

<td>{{segment_details[segment]}}</td> 

更多看到的文档Jinja。 当您在Jinja2中编写声明(iffor)时,您使用{% statement %},但是当您访问变量时,只需使用{{ variable }}即可。

+0

感谢Kemis - 欣赏快速反应和您的建议完美工作! –

1

它是一个解决方案

<tbody> 
    {% for key, segment in segment_details.items() %} 
    <tr> 
     <td>{{ key }}</td> 
     <td>{{ segment }}</td> 
    </tr> 
    {% endfor %} 
</tbody>