python – django模板中的元组列表

我有一个标签列表和我的视图中的值列表,其中第一个列表中的第n个元素对应于第二个列表的第n个元素,我想在我的模板,列表或选项卡中按顺序显示它们, 例如 :

- label1 : text1 
- label2 : text2 ..

为此,我将两个列表压缩:

labels = []
texts = [] 
#function that fills the lists.
values = zip(labels,results)
context = {'values': values }  
return render(request,'mypage.html',context)

然后在我的模板中我试过这个:

{% for value in values %}
<ul>
<li> {{value}}.</li>
</ul>

但这会呈现一个页面:

>(‘label1′,’text1’)
>(‘label2′,’text2’)

我还尝试了一个字典,标签作为键和文本作为值,它呈现良好,但然后订单不受尊重,因为它是一个字典.我已经想到了其他方法,例如第一行有两个词典,第二行有另一个词典,但是我对python和django模板的了解不够,我不知道怎么做.

如果有人可以提供帮助,我将不胜感激.

编辑:实际上我在问这个问题之后找到了两个小时的答案,但我会留下它以防它可以帮助任何人.在模板中,我刚刚做了:

{% for labels, texts in values %}
<ul>
<li> {{labels}} : {{texts}}.</li>
</ul>

解决方法:

使用str.join:

values = [" : ".join(x) for x in zip(labels,results)]

并将此列表传递给模板.

只需拉链,您需要在模板内部进行解压缩:

values = zip(labels,results)

{% for label, text in values %}
<ul>
<li> {{ label }} : {{ text }}</li>
</ul>
上一篇:c# – 为什么元组在`[Serializable]`时没有无参数构造函数?


下一篇:Python中元组字典 – 键匹配的一个元素