У меня есть следующий словарь:
{'a': {'b': {'c': {}}}}
И следующий шаблон Jinja2:
{% for key in dictionary recursive %}
<li>{{ key }}
{% if dictionary[key] %}
<ul>{{ loop(dictionary[key]) }}</ul>
{% endif %}
</li>
{% endfor %}
Но Jinja2 всегда выводит:
<ul>
<li>a</li>
<ul>
<li>b</li>
</ul>
</ul>
Я понял, что при использовании рекурсии он также покажет мне элемент "c", но он работает только для глубины 2. Почему словарь
не меняется на словарь [ключ]
на каждой итерации цикла? Словарь
всегда является исходным словарем
.