如何从Python循环中填充2列卡片
我试图在一个Python列表上循环,以填充两个以语义为中心的UI卡的行,但不知道如何正确填充该行的第二个卡。目前,我的代码中有字符串“hey”,但在此之前,我有“user”,但当然是得到同一个用户两次:/如何从Python循环中填充2列卡片,python,python-3.x,loops,flask,semantic-ui,Python,Python 3.x,Loops,Flask,Semantic Ui,我试图在一个Python列表上循环,以填充两个以语义为中心的UI卡的行,但不知道如何正确填充该行的第二个卡。目前,我的代码中有字符串“hey”,但在此之前,我有“user”,但当然是得到同一个用户两次:/ [![enter image description here][1]][1]<div class="ui two column centered grid"> {% for user in users %} <
[![enter image description here][1]][1]<div class="ui two column centered grid">
{% for user in users %}
<div class="four column centered row">
<!-- card 1 -->
<div class="column"><div class="ui card">
<div class="image">
<img src="/static/images/matthew.png">
</div>
<div class="content">
<a class="header" href="{{ url_for('show', id=user.id)}}">{{ user.first_name }}</a>
<div class="meta">
<span class="date">Joined in 2013</span>
</div>
<div class="description">
{{ user.first_name }} is a surfer living in Aguadilla.
</div>
</div>
<div class="extra content">
<a>
<i class="user icon"></i>
22 Friends
</a>
</div>
</div></div>
<!-- card 2 -->
<div class="column">hey</div>
</div>
{% endfor %}
</div>
[![在此处输入图像描述][1][1]
{users%%中的用户为%s}
2013年加入
{{user.first_name}}是居住在阿瓜迪拉的一名冲浪者。
22位朋友
嘿
{%endfor%}
如果您有平面列表[0,1,2,3,…]
而不是[[0,1],[2,3],…]
,那么您可以尝试使用带zip()的切片来转换它
使用用户[0::2]
您甚至可以获得用户(0,2,4,…)
使用用户[1::2]
可以获得奇数用户(1,3,5,…)
并将其与zip()
一起使用,您可以创建成对的(0,1)、(2,3),…
,您可以使用它们创建带有两张卡的行
for user1, user2 in zip(users[0::2], users[1::2]):
# ... create card1 with user1 ...
# ... create card2 with user2 ...
我不知道是否可以在模板中使用zip()
,但最终您可以使用此方法在将列表发送到模板之前创建列表[[0,1],[2,3],…]
。检查浏览器开发工具中的卡2元素,由于某些样式问题,应忽略它。在将数据发送到模板之前,您可以将平面[A,B,C,D,…]中的数据转换为二维[[A,B],[C,D],…]
然后您可以使用两个用于-循环-用于数据中的行:用于行中的项:…
用于单个用于-循环我只看到用于范围内I的方法(0,len(用户),2):用户[I],用户[I+1]
。最后,使用zip()
-对于用户1,用户2在zip中(用户[0::2],用户[1::2]):
我就这样做了。谢谢你!非常感谢,我没有在模板中使用zip,而是在路由文件中进行了循环,并将带有新列表的变量传递给视图。