【发布时间】:2020-09-13 22:08:00
【问题描述】:
我在 Jinja 中创建了一个 for 循环,它与 Flask 一起工作,但由于某种原因它没有循环正确的次数。
{% if news %}
{% set count = -1 %}
{% for new in news[::-1] %}
{% set count = count + 1 %}
<div class="news" style="display:flex;align-items:center;">
<img src="{{ postpfp[count] }}" style="width:50px;border-radius:50%;margin-right:10px;">
<div style="display:block;">
<p style="margin-top:5px;margin-bottom:-3px;font-size:18px;"><b>{{ new.update }}</b></p>
<p style="font-size:13px;">By {{ new.postby }} | {{ new.postdate }} {{ new.posttime }}</p>
</div>
</div>
{% endfor %}
{% else %}
<p style="margin-top:10px;margin-bottom:-5px;">No Updates to Display</p>
{% endif %}
如您所见,对于新闻表中的每一行,它都会循环多次。
表中有 2 行,但它只循环一次。
如果您需要,这是我的 python 代码:
news = News.query.all()
if news:
pfps = []
for new in news[::-1]:
urls = db.session.query(Users).filter_by(username=new.postby).first().pfpurl
pfps.append(urls)
return render_template('dashboard.html',
user=current_user.username,
email=current_user.email,
admin=current_user.isAdmin,
plan=current_user.plan,
date=current_user.joindate,
pfp=current_user.pfpurl,
news=news,
users=db.session.query(Users).count(),
postpfp=pfps)
【问题讨论】:
-
你怎么知道它只循环一次?
-
我将
count的值返回给页面,是0
标签: python python-3.x flask jinja2