通过我的视图,我收集了一些数据,我想将这些数据捆绑在一个如下所示的值列表中:
data = [(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8)]然后,我将将其呈现到我的模板中,以便将数据解压缩到我的页面:
return render(request, 'accounts/page.html', {'data' : data})模板如下所示:
{% for a,b,c,d,e,f,g,h in data %}
<h3>{{a}}</h3>
<h3>{{b}}</h3>
#and so on
#..
<h3>{{h}}</h3>
{% endfor %}所以我得到的错误是:
需要2个值才能打开for循环;得到8。
谁能找出这个错误的来源,或者有一种更好的方法在包中呈现数据?
谢谢!
发布于 2018-08-01 12:40:15
小心不要将list用作变量,因为它是Python对象(保留)
问题只在你的渲染中:
my_list = [(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8)]
return render(request, 'accounts/page.html', {'my_list': my_list})发布于 2018-08-01 12:29:02
传递给呈现的上下文应该是dict
return render(request, 'accounts/page.html', {'list': list})发布于 2018-08-01 12:32:13
您需要将列表拉链并将其作为一条数据传递:
list = zip([(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8),(1,2,3,4,5,6,7,8)])
return render(request, 'accounts/page.html', {'list':list})https://stackoverflow.com/questions/51633309
复制相似问题