在我的django项目中我有以下模型(这些对象基本上是词典列表):
def bill_sum(request):
titles = Summary.objects.values('title')
summary = Summary.objects.values('summary')
summary_text = Summary.objects.values('summary_text')
action_date = Summary.objects.values('action_date')
action_desc = Summary.objects.values('action_desc')
context = {'title':titles,
'summary':summary,
'summary_text':summary_text,
'action_date': action_date,
'action_desc':action_desc,
}
return render(request,'billsummary.html',context)
在我的模板中,我可以通过以下html代码生成标题列表:
<!doctype html>
<html>
<body>
{% for t in title %}
<h1>{{t.title}}</h1>
{% endfor %}
</body>
</html>
但是,当我尝试添加其他信息(例如,所有摘要对象的循环)时,除了标题之外,没有任何其他东西呈现。我缺少什么?如何从中呈现字典列表(即Json数据文件)我对模板的看法?
我想要做的是类似于模板中的以下内容:
{% for c in context %}
<h1>c.title</h1>>
<h2>c.summary</h2>
<p>c.action_date</p>
{% endfor %}
答案 0 :(得分:1)
您可以这样做:
summaries = Summary.objects.values('title', 'summary', 'summary_text', 'action_date', 'action_desc')
return render(request,'billsummary.html',context={'summaries': summaries})
然后在模板中:
{% for t in summaries %}
<h1>{{t.title}}</h1>
<p>{{t.summary}}</p>
{% endfor %}
它只会访问数据库一次,非常适合您的情况