2013-03-15 70 views
0

我想解析我的HTML中的以下数据结构。Django多字典解析

{'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的是,我已经写了自定义过滤器基本上采取密钥和数据结构,并返回值回。

但这不起作用。任何人都可以帮我弄清楚为什么?谢谢!

回答

1

首先,对于不断钥匙,你不需要自定义过滤器,这会工作得很好:

{{ v.key1 }} 

也就是说,data['GROUPS']是一个字典,你要遍历其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> 
+0

这工作!谢谢@Pavel Anossov – Ashwin 2013-03-15 22:53:45