2017-03-20 8 views
0

にDIC命じました。最初にこのコードを使用しています。レンダリングは、私は次のコードを使用してPythonでその要素にアクセスすることができますPythonでordereddicを持つDjangoテンプレート

<body> 
{% for value in orderedDict %} 
    <tr><td> {{ value }} </td></tr> 
{% endfor %} 
</body> 

しかし、ネストされた値にアクセスすると、結果が得られません。明確にするために

<body> 
{% for value in orderedDict %} 
    {% for val in orderedDict[value] %} #I tried orderedDict.value too but doesn't work. 
     <tr><td> orderedDict[value][val] </td></tr> 
    {% endfor %} 
{% endfor %} 
</body> 

、これは私のordereddictの要素である:

OrderedDict([('name', 'uniquename'), ('default', True), ('t', ['test1']), ('filename', OrderedDict([('t2', False), ('r', OrderedDict([('url', 'https://web.com'), ('f1', 'type2'), ('code', [42])]))) 

私が取得したいことは「固有名」とデフォルトのための真の値です。 自分のコードで 'uniquename'を取得できますが、デフォルトの値をTrueにすることはできません。

この問題を解決する方法を教えてください。

答えて

1

はこのようにあなたがdictの(またはOrdered 1)を持っていると仮定します。

h = { 
    'a': { 
     'aa': 123, 
     'bb': 456, 
    }, 
    'b': { 
     'aa': 789, 
     'bb': 120, 
    }, 
    'c': { 
     'aa': 345, 
     'bb': 678, 
    }, 
} 

次に、あなたがこれを行うことができ、テンプレートに:

Main key is: b 
aa: 789 
bb: 120 

Main key is: c 
aa: 345 
bb: 678 

Main key is: a 
aa: 123 
bb: 456 

{% for key, value in h.items %} 
    Main key is: {{ key }} 
    {% for k, v in value.items %} 
     <tr><td> {{ k }}: {{ v }} </td></tr> 
    {% endfor %} 
{% endfor %} 

これをレンダリングします

関連する問題