0

我正在尝试在我的 HTML 中解析以下数据结构。

{'GROUPS': {'Group1': [{'key1':'value1','key2':'value2'}, {'key1':'value3', 'key2':'value4'}], 'Group2': [{'key1':'value5','key2':'value6'}, {'key1':'value7', 'key2':'value8'}]}}

我拥有的解析代码如下:

<tbody>
{% for group,data in data|get_value:"GROUPS" %} 
<tr>
    <td>{{ group }}</td>
    {% for v in data.items %}
    <tr>
        <td>{{ v|get_value:"key1" }}</td>
        <td>{{ v|get_value:"key2" }}</td>
    </tr>
    {% endfor %}
</tr>
{% endfor %}
</tbody>

get_value 是我编写的自定义过滤器,它基本上采用键和数据结构,然后返回值。

但这行不通。谁能帮我弄清楚为什么?谢谢!

4

1 回答 1

1

首先,对于常量键,您不需要自定义过滤器,这可以正常工作:

{{ v.key1 }}

也就是说,data['GROUPS']是一个 dict,你想迭代它items,就像你对data.

data虽然是一个列表,但不需要:

<tbody>
{% for group, data in data.GROUPS.items %} 
<tr>
    <td>{{ group }}</td>
    {% for v in data %}
    <tr>
        <td>{{ v.key1 }}</td>
        <td>{{ v.key2 }}</td>
    </tr>
    {% endfor %}
</tr>
{% endfor %}
</tbody>
于 2013-03-15T22:46:16.053 回答