gpt4 book ai didi

django - 等效于 Django 模板中的 python "for in"循环

转载 作者:行者123 更新时间:2023-12-05 08:23:47 26 4
gpt4 key购买 nike

我正在尝试在 Django 模板中迭代列表。在 python 中,它看起来像下面并且有效:

l=[lots ot touples]
for li in range(len(l)):
print(l[li])

但在 django 模板中它不起作用。我的问题是:django 模板中迭代列表最简单的等价物是什么?

我的 django 模板:

<html>
<body>
{% for w in l %}
<li>{{ w }}</li>
{% endfor %}
</body>
</html>

提前致谢

附言我在列表中添加了元组以准确显示问题所在再来一张PS

www 网站的输出(我正在显示来自 gmail 的未读电子邮件)如下所示:

('From1', 'subject1', 'Thu, 12 Nov 2015 09:46:34 +0100')
('From2', 'subject2', 'Thu, 12 Nov 2015 13:48:58 +0100')
('From3', 'subject3', 'Thu, 12 Nov 2015 14:12:34 +0100')

我希望列表中的每个项目都分配给 touple。我想做的是分配 touple ,例如:

touple1 = ('From1', 'subject1', '2015 年 11 月 12 日星期四 09:46:34 +0100')

这样我以后就可以调用“发件人”、“主题”或“日期”

问候

也许我会以另一种方式展示它以使其更清楚:for 循环遍历电子邮件(元组列表)

email1 = list[1]     //touple
email2 = list[2] //touple

(...)

from1 = email1[0]
subject1 = email1[1]
date1 = email1[3]

等等。

已解决。谢谢大家的帮助。每个解决方案对我都有帮助。我想将两个答案(如果可能的话)标记为对我展示解决同一问题的不同方法非常有用。我想提一下,每一个帮助对我来说都非常有用。您介意我将 Alasdair 和 Noah 的答案标记为正确答案吗(不知道我可以标记多少)?

最佳答案

给定以下元组列表:

emails = [
('From1', 'subject1', 'Thu, 12 Nov 2015 09:46:34 +0100')
('From2', 'subject2', 'Thu, 12 Nov 2015 13:48:58 +0100')
('From3', 'subject3', 'Thu, 12 Nov 2015 14:12:34 +0100')
]

您可以遍历元组,并使用 .0.2 通过索引访问元素:

{% for email in emails %}
{{ email.0 }} - {{ email.1 }} - {{ email.2 }}
{% endfor %}

或者,您可以解压元组变量:

{% for from, subject, date in emails %}
{{ from }} - {{ subject }} - {{ date }}
{% endfor %}

顺便说一句,您的 Python 代码不是很 Pythonic。而不是在一个范围内循环,

emails = [...]
for li in range(len(emails)):
print(emails[li])

可以直接遍历列表

for email in emails:
print(emails)

您可以执行与 Django 模板中相同的解包操作。

for from, sender, date in emails:
print(from, sender, date)

关于django - 等效于 Django 模板中的 python "for in"循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33674092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com