迭代jinja数组

时间:2015-11-19 21:50:52

标签: python jinja2

我有以下jinja数组:

{'e34': ['120'], 'e24': ['50']}

我想找一个单词是否包含e2,并将其带到另一个函数。

我做了以下事情:

{% set result = 'default' %}
{% for item, value in jinjaarray.items() %}
   {% if 'e2' in item %}
      result = item
   {% endif %}
{% endfor %}

但它失败了,并没有进入循环。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

使用{3}}之类的.items(),jinja2使用.iteritems()中所述的Python2-fashioned docs

此外,您需要result使用item set变量from jinja2 import Template d = {'e34': ['120'], 'e24': ['50']} s = """{% set result = 'default' %} {% for item, value in test_dict.items() %} {% if 'e2' in item %} {% set result = item %} {{ result }} {% endif %} {% endfor %}""" template = Template(s) print(template.render(test_dict=d)) 到字典.items()

.iteritems()

由于我在系统上使用Python3,因此我必须调用'\n\n \n \n e24\n \n\n \n' 。您可以根据自己的版本调用e24

由于我的系统上没有设置jinja2沙盒环境,因此我必须编写一个快速而脏的代码片段,如上所示。这提供了以下输出:

var searchText = $('#searchText');
expect(searchText.isPresent()).toBeTruthy('Search Text element not present');

光学上说这不是那么好,但它会打印出if let window = application.delegate?.window ?? nil { print(window.frame) } 所需的值。