Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django模板:需要2个值才能在for循环中解包;得了8分_Python_Django_Templates_Render - Fatal编程技术网

Python Django模板:需要2个值才能在for循环中解包;得了8分

Python Django模板:需要2个值才能在for循环中解包;得了8分,python,django,templates,render,Python,Django,Templates,Render,通过我的视图,我收集了一些数据,希望将这些数据捆绑在一个值列表中,如下所示: 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&g

通过我的视图,我收集了一些数据,希望将这些数据捆绑在一个值列表中,如下所示:

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 %}
{数据%中a、b、c、d、e、f、g、h的百分比}
{{a}
{{b}
#等等
#..
{{h}
{%endfor%}
所以我得到的错误是:

需要2个值才能在for循环中解包;得了8分

有人能找出这个错误的来源吗?或者有更好的方法来呈现捆绑包中的数据吗


谢谢

传递给呈现的上下文应该是
dict

return render(request, 'accounts/page.html', {'list': list})

您需要压缩列表并将其作为dict传递:

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})

小心不要将
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})

从不传递
列表
,因为上下文应该是一个将名称映射到项目的字典。所以在这里,Django永远不会知道有一个名为
list
的变量。您可以使用嵌套循环。不管怎样,解包都要在引擎盖下进行。我将试验嵌套循环。你不需要压缩它,但dict部分是正确的。thks,我已经更新了问题,问题仍然存在,尽管thks@Wariored实际上我很邋遢,我的渲染在真实程序中是正确的。这只是一个例子。这里是我假设正确的真实呈现:args={'form':form'annonces':annonces'rech':len(annonces)}//返回呈现(请求'accounts/page_recherche.html',args)。不过我还是有同样的问题:/@Djamel我可以看到你的整个视图吗?当然可以,我可以把它发送到哪里?(很抱歉,新堆栈溢出,我不确定这里是否有消息服务)您可以问一个新问题。然后以评论的形式在这里发布链接这是新的问题thks,我已经更新了问题,但问题仍然存在