迭代jinja数组

2024-06-10 12:18:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下金贾阵:

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

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

我做了以下事情:

^{pr2}$

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

我该怎么做?在


Tags: 函数单词事情e24e2pr2e34
1条回答
网友
1楼 · 发布于 2024-06-10 12:18:34

jinja2使用了^{}和Python3类似,而是使用了^{}格式的Python2,如docs中所述。在

另外,您需要使用set将变量result转换为字典中的item

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))

因为我在我的系统上使用Python3,所以我不得不调用.items()。根据您的版本,您可以改为调用.iteritems()。在

因为我的系统上没有设置jinja2沙盒环境,所以我不得不编写一个快速而肮脏的代码片段,如上图所示。这将产生以下输出:

^{pr2}$

从光学角度来说,这不是很好,但它打印出所需的e24。在

相关问题 更多 >