在Django模板中访问字典

时间:2019-12-05 14:00:40

标签: html django dictionary django-templates

views.py:

return render(request,'images.html',temp)

温度:

{'cluster1': ['temp/vinoth/cluster1/demo-pic94.jpg', 'temp/vinoth/cluster1/id1.jpg'], 'cluster2': ['temp/vinoth/cluster2/demo-pic94.jpg', 'temp/vinoth/cluster2/demo-pic99.jpg', 'temp/vinoth/cluster2/id2.jpg', ['temp/vinoth/cluster2/demo-pic94.jpg', 'temp/vinoth/cluster2/demo-pic99.jpg', 'temp/vinoth/cluster2/id2.jpg']], 'cluster3': ['temp/vinoth/cluster3/demo-pic96.jpg', 'temp/vinoth/cluster3/id3.jpg'], 'cluster4': ['temp/vinoth/cluster4/demo-pic99.jpg', 'temp/vinoth/cluster4/id4.jpg'], 'cluster5': ['temp/vinoth/cluster5/demo-pic99.jpg', 'temp/vinoth/cluster5/id5.jpg'], 'cluster6': ['temp/vinoth/cluster6/id6.jpg', 'temp/vinoth/cluster6/triplet loss.jpg'], 'cluster7': ['temp/vinoth/cluster7/id7.jpg', 'temp/vinoth/cluster7/triplet loss.jpg'], 'cluster8': ['temp/vinoth/cluster8/id8.jpg', 'temp/vinoth/cluster8/triplet loss.jpg'], 'cluster9': ['temp/vinoth/cluster9/id9.jpg', 'temp/vinoth/cluster9/triplet loss.jpg']}
System check identified no issues (0 silenced).

值是图像数组

image.html:

<div class="row mt-4">
    <div class="col">
            <ul class="list-group">
                {% for key,value in temp.items %}
                    <h1>{{ key }}</h1>
                {% endfor %}        
             </ul>
    </div>
</div>

但是什么都没打印出来?我在这里做什么错了?

1 个答案:

答案 0 :(得分:0)

您正在“发送”到模板的temp变量称为context,您将能够通过其键值访问其项:

<div class="row mt-4">
<div class="col">
        <ul class="list-group">
            {% for value in cluster1 %}
                <h1>{{ value }}</h1>
            {% endfor %}        
         </ul>
</div>
</div>

换句话说,您的temp变量的每个值都可以直接在模板中使用其key的名称。因此,您的模板中将包含cluster1cluster2,... cluster9个变量。

如果您只想将所有var换行,则需要修改上下文(temp),如下所示: temp = { 'data': { 'cluster1': ..., .... } }

在模板中: {% for cluster in data %} {% for img in cluster %} ... {% endfor %} {% endfor %}