在Django模板中循环遍历列表

时间:2018-11-17 06:15:05

标签: python django django-templates django-views

我有一个json文件'data',它是一个字典列表。每个词典中的键之一是“标题”,其值是标题列表。如何为每个字典仅显示此列表中的第一个“标题”? json如下:

[{'title':['title1','title2,..],'other data':'xyz',...,}...{'title n':['title n1','title n2,..],'other data n1':'xyz n2',...,}

这是我的views.py:

def bill_status(request):
  data = Status.objects.all()
  context = {'data':data}
  return render(request,'billstatus.html',context)

在我的模板中,我将其渲染为:

{% for datum in data %}
<h3>{{datum.title}}</h3>
{% endfor %} 

但是,html的输出是每个字典的完整列表:

['title1','title2,..]

如何仅输出“ title1”而不是整个列表?

2 个答案:

答案 0 :(得分:1)

<h3>{{ datum.title.0 }}</h3>用于获得列表的第一项(0)。

您可能会在文档中阅读有关Django Template Language variables的更多信息。

答案 1 :(得分:1)

{{datum.title.0}}将为您解决问题。

示例:-

dat = [{'title':['t1','t2']}, {'title':['t3','t4']}];

在模板中

 {% for dict in dat %}
     {{dict.title.0}}
 {% endfor %}

输出

t1 t3