Jinja2 ValueError: too many values to unpack (expected 2)

Jinja2 ValueError: too many values to unpack (expected 2)

{%for feed,tim in feeds,time %}
                        {% set nickname = feed.nick %}
                        {% set like = feed.like %}
                        {% set text = feed.text %}
                        {% set today = tim %}
                        {% set postid = feed.postid %}
                        {% set photo = feed.photo %}
                        {% set profile = feed.profile %}
                        
                        

                                {%for cmt in cmts %}
                                {% set nickname = cmt.nick %}
                                {% set cmt = cmt.cmt %}
                                {% set cmtid = cmt.cmtid %}
                                {% if cmtid == postid %}
                                <p class="description"><span>{{nickname}} </span> {{cmt}}</p>
                                {% endif %}
                                {% endfor %}

                                <div class="comment-wrapper">
                                    <img src="../static/images/smile.PNG" class="icon" alt="">
                                    <input type="text" class="comment-box" id='cmt' placeholder="Add a comment">
                                    <button class="comment-btn" onclick=cmt_write()>post</button>
                                </div>
                            </div>


                        </div>
                        {% endfor %}

在jinja2中用一个列表执行for语句成功, 但我们必须使用两个列表。

我尝试在 jinja2 中使用 2 个列表(提要、时间)

如何从 jinja2 到 jinja2 for 循环

有没有办法在 jinja2 中使用两个列表?

如果您想遍历两个列表(相同长度)的组合列表,您必须对它们应用 zip 函数。例如:

def view_function():
   feeds = [...]
   time = [...]
   
   feeds_and_time = zip(feeds, time)
   # Looks like this: [('feed_1', 'time_1'), ('feed_2', 'time_2')]

然后将这个新的 feeds_and_time 变量传递给渲染函数。并在模板中修改循环:

{% for feed,tim in feeds_and_time %}