【问题标题】:Problem setting the Jinja variable during iteration in flask [duplicate]在烧瓶中迭代期间设置Jinja变量的问题[重复]
【发布时间】:2021-10-09 13:00:11
【问题描述】:

我的 HTML 代码如下:

<div class = "methods">
        {% set j = 1 %}
        {% for i in range (4) %}
        <div class = "mrow">
            <div class = "mrow1">
                <div class = "mrow11">
                <img src = "static/images/metodo{{ listofitems[j] }}.png">
                </div>
                <div class = "mrow2 gold">
                    MÉTODO
                </div>
            </div>
            <div class = "mrow1">
                <div class = "mrow11">
                <img src = "static/images/metodo{{ listofitems[j+1] }}.png">
                                    {% set j = j + 2 %}
                                    {{ j }}
                </div>
                <div class = "mrow2 gold">
                    MÉTODO
                </div>
            </div>
        </div>
        {% endfor %}
</div>

我从烧瓶传递的变量是listofitems = [0, 1, 2, 3, 4, 5, 6, 7],图像是'metodo1.png'、'metodo2.png'等。它为所有图像'metodo1.png'和'metodo2.png'设置src属性,忽略我在 j 上做的增量。只有它增加 j 的时候是第一次。我想要总共 8 张图像,每张都动态地将源更改为 1...8。使用{{ j }} 行,它会在每秒图像下打印 3 个,永远不会进一步增加。

非常感谢您。

【问题讨论】:

    标签: flask jinja2


    【解决方案1】:

    不是分配一个单独的变量,这在 for 循环本身中是不可能的吗?我假设您希望循环执行 4 次,并且应该在每次迭代中显示两个连续的图像。这就是通过修改 for 循环以满足该条件来完成的。

    <div class = "methods">
            {% for i in range (1, 9, 2) %}
            <div class = "mrow">
                <div class = "mrow1">
                    <div class = "mrow11">
                    <img src = "static/images/metodo{{ listofitems[i] }}.png">
                    </div>
                    <div class = "mrow2 gold">
                        MÉTODO
                    </div>
                </div>
                <div class = "mrow1">
                    <div class = "mrow11">
                    <img src = "static/images/metodo{{ listofitems[i+1] }}.png">
                                        {{ i }}
                    </div>
                    <div class = "mrow2 gold">
                        MÉTODO
                    </div>
                </div>
            </div>
            {% endfor %}
    </div>
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    相关资源
    最近更新 更多