[英]How to iterate dictionary to template in Django
如果我打印結果,我有兩個完美的循環。 它給了我一個顯示名稱和值的列表,但我很難在模板中顯示它。 它只顯示最后的結果。
for u in Performance.objects.raw('SELECT * FROM...')
name = u.last_name + ' ' + u.first_name
for e in Projekt_perf.objects.raw('SELECT stressz_profile.id...')
total = e.total
results = {'name':name, 'total':total}
context = {
'results': results,
'name': name,
'total': total,
}
return render(request, 'performance/list.html', context)`
這是我拿到的字典,還行: {'name': 'Someone01', 'total': 25} {'name': 'Someone02', 'total': 7} {'name': 'Someone03', 'total': 10} {'name': 'Someone04', 'total': 0}
我喜歡在模板中使用上面的字典,我嘗試了這些方法,但我沒有得到最后一個元素的所有元素。 {% for r in results %} {{ r }} {% endfor %}
{% for r in results %} {{ r.name }} - {{ r.total }} {% endfor %}
我究竟做錯了什么?
試試這個代碼,你需要在列表中附加所有對象,然后在迭代它之后。 像這樣...
final_data = []
total =0
for u in Performance.objects.raw('SELECT * FROM...')
name = u.last_name + ' ' + u.first_name
for e in Projekt_perf.objects.raw('SELECT stressz_profile.id...')
total = e.total
final_data.append({'name':name, 'total':total})
context = {
'results': final_data,
'total': total,
}
return render(request, 'performance/list.html', context)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.