是否可以将对象字典从视图传递到模板

时间:2016-04-20 14:58:51

标签: python django

我想知道我们是否可以将对象字典传递给模板并将其循环到模板中。

这是我的结构:

{
    'Communication': [
                        [EchoCase: EchoCase object, EchoDescription: EchoDescription object],
                        [EchoCase: EchoCase object, EchoDescription: EchoDescription object]
                        ],
    'escalations': [[EchoCase: EchoCase object, EchoDescription: EchoDescription object],
                    [EchoCase: EchoCase object, EchoDescription: EchoDescription object]]
}

它基本上是一个字典,对于每个键,值是列表列表。

我想知道是否有一种方法可以在django模板中循环,或者这种结构是否过于复杂,

2 个答案:

答案 0 :(得分:0)

{% for key, value_list in data %}
    <ul>
        <li> {{ key }}
            <ul>
            {% for value in value_list %}
                <li>{{ value }}</li>
            {% endfor %}
            </ul>
        </li>
    </ul>
{% endfor %}

但看起来Echo Case和Echo Description是相关的,因此您可能只想使用相关字段并执行{{echocase}} {{echocase.description}}或类似的东西

答案 1 :(得分:0)

我设法使用Paul的结构使其工作

{% for category, liste in template_dictionnary.items %}
    <ul>
        <li> {{ category }} </li>
        <li> {{ liste}} </li>
            {% for val in liste %}
                <li>Val: {{ val.0.comment }}</li> <!-- val.0 is an EchoCase, val.1 is an EchoDescription -->
                <li>Val: {{ val.1.field }}</li>
            {% endfor %}
        </li>
    </ul>
{% endfor %}

谢谢Paul