0
ほとんど無限の量の子供を持つジンジャーテンプレートの辞書をループしています。子供たちはセットと辞書を含んでいます。ここでの作業データセットのJinja2 recursion over python辞書とセット
EYE
COURSES
CLASS_0E
CLASS_0F
EYE|MIT
COURSES
CLASS_1E
CLASS_2F
EYE|MIT|NIT
COURSES
CLASS_1X
CLASS_1D
EYE|MIT|NIT|XXX
COURSES
CLASS_4X
EYE|EDX
COURSES
CLASS_9A
CLASS_9B
:
SCHOOL = {
'EYE': {
'COURSES': {
'CLASS_0E',
'CLASS_0F'
},
'EYE|MIT': {
'COURSES': {
'CLASS_1E',
'CLASS_2F'
},
'EYE|MIT|NIT': {
'COURSES': {
'CLASS_1X',
'CLASS_1D'
},
'EYE|MIT|NIT|XXX': {
'COURSES': {
'CLASS_4X'
}
}
},
'EYE|EDX': {
'COURSES': {
'CLASS_9A',
'CLASS_9B'
}
}
}
}
}
は、ここで私はでこれまで何をやったかだ私は、次のデータセットをループしようとし、以下の例のように神社を経由して、それを印刷していますそれをループさせようとしたが、運がない。
from jinja2 import Template
template = Template(
"""
{% for key, value in tree.items() recursive %}
{{key}}
{% if key == "COURSES" %}
COURSES
{{loop(value.items())}}
{% else %}
* GOTO INTO THE NEXT CHILD AND REPEAT THE PROCESS *
{% endif %}
{% endfor%}
""")
print(template.render(tree = SCHOOL))
Jinja2でこの再帰的問題をどのように解決できますか?