【发布时间】:2013-11-24 17:39:53
【问题描述】:
我有以下 Jinja2 模板:
{% block body %}
{% for key in tree recursive %}
{% set outer_loop = loop %}
{% for subkey in tree[key] %}
{% if subkey == 'R' %}
{{ tree[key][subkey] }}
{% else %}
{{ outer_loop(dict([(subkey, tree[key][subkey])])) }}
{% endif %}
{% endfor %}
{% endfor %}
{% endblock body %}
tree 是一个 Python 字典,例如:
tree = {"A": {"R": [1, 2, 3], "B": {"R": [4, 5, 6]}}}
而dict() 是Python library function。
问题是模板只显示[1, 2, 3] 而不是[1, 2, 3][4, 5, 6] 如预期的那样。
很明显,我误解了 Jinja 中递归的工作原理;有什么提示吗?
【问题讨论】:
标签: python recursion dictionary jinja2