我想做一个简单的社交网络web应用程序。在提要页面中,我应该打印所有的帖子,包括上传它的用户的姓名以及每个帖子的反馈。
我在显示Jinja嵌套循环时遇到了一个问题,因为我不知道html的好背景。
这是我的html文件,其中有3个嵌套循环,分别用于用户名、反馈和帖子。问题是,它只打印用户和反馈的第一个结果,而忽略了其他结果;用户反馈帖子";。
{% for item1 in user %}
{% for item2 in feed %}
{% for item3 in image %}
{{ item1 }} {% if not loop.last %} {% endif %}<br>
{{ item2 }} {% if not loop.last %} {% endif %}<br>
<img src="/static/images/{{ item3 }}" width="180" height="180"><br> {% if not loop.last %} {% endif %}<br><br>
{% endfor %}
{% endfor %}
{% endfor %}
file.py,我在其中返回函数。。。
return render_template("home.html", feed=post_feed(), image=post_image(), user=post_user())
在这样的嵌套循环中,您需要引用内部for
语句中的外部对象。
类似于:
{% for item1 in user %}
{% for item2 in item1.feed %}
{% for item3 in item2.image %}
细节将取决于数据的结构。
作为一个建议,是否也可以重命名变量以使其更有意义?
{% for user in users %}
{% for feed_item in user.feed %}
{% for image in feed_item.images %}