代码之家  ›  专栏  ›  技术社区  ›  dkackman

是否有通用的递归烧瓶模板?

  •  0
  • dkackman  · 技术社区  · 4 年前

    作为一种快速原型化htmlui的方法,我正在寻找一个通用的jinja2模板,它将递归地显示对象或字典的名称/值对,包括递归地钻取子对象。

    假设我有这本字典:

    a_dict = {'name1': 'value1', 'name2': 'value2'}
    a_dict['other'] = {'name3': 'value3', 'name4': 'value4'}
    

    它会显示如下:

    name1: value1
    name2: value2
    other:
        name3: value3
        name4: value4
    
    0 回复  |  直到 4 年前
        1
  •  1
  •   DontBe3Greedy    4 年前
    {% macro show_node(node) %}
       {% for key, value in node.__dict__.items() %}
            <span>{{key}}: </span>
            {% if value is mapping %} <-- not sure what to do here
                {{ show_node(value) }}
    
            {%else%}
                <span>Value: {{value}}</span>
            {% endif %}
       {% endfor %}
    {% endmacro %}
    

    给你