Flask/Jinja2 模板:具有多个列表位置的循环

Flask/Jinja2 template: Loop with multiple list positions


[不太确定这个话题是否有意义,但没有找到更有意义的话题。]

我创建了一个如下所示的模板:

{% for x in jobs %}
        <table>
            <tr>
                <td></td>
                <td>{{ x.Ecordov.oovorder }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooaname1.split('{}')[0] }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooaname2.split('{}')[0] }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooazusatz.split('{}')[0] }}</td>
            </tr>
        </table>
{% endfor %}

如您所见,我在多个列表中获得了一个特定位置,效果很好。

我要解决的问题:这些列表最多有 16 个位置,我必须渲染这些位置。我当然可以 copy/paste 上面的 <tr> </tr> 块 16 次进入模板,并编辑行位置,但我很确定有更好、更自动化的方法;但是,直到现在我还无法自己找到它。

谁能指出我正确的方向?

感谢您的帮助,祝一切顺利!

试试这个:

{% for x in jobs %}
    {% for i in range(0, 17) %}
        <table>
            <tr>
                <td></td>
                <td>{{ x.Ecordov.oovorder }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooaname1.split('{}')[i] }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooaname2.split('{}')[i] }}</td>
            </tr>
            <tr>
                <td></td>
                <td>{{ x.ooazusatz.split('{}')[i] }}</td>
            </tr>
        </table>
    {% endfor %}
{% endfor %}

如果您不知道列表有多少元素,您必须先找到它并将其用作 stop 参数([=11 的第二个参数=] 函数).