使用 jinja2 和 Flask 创建一个 table,它会在第三列之后自动放到新行

Create a table that will automatically drop to a new row after the third column using jinja2 and Flask

我有一个数据库,里面装满了用户创建的群组,用于发布他们选择的主题。这些组将包含用户可以进入的小节和 post/comment 等。我制作了一个仪表板,显示当前可用的组并允许用户创建自己的组。

我遇到的问题是我希望这些组出现在 3 列中,然后换行并重复。我目前有它,所以返回的每个结果都占一整行,但这对网页设计没有多大作用,所以我希望它出现在下一行。

下面是我目前的代码(我在app.py文件中定义):

     <div class="row"> 
        {% for group in groups %}
            {% if i == 2 %}
                </div>
                {% set i = 0 %}   
            {% else %} 
                    <div class="col-sm-4">
                        <h2>{{group[0]}}</h2>
                        <p>{{group[1]}}</p>
                    </div> 
                {% set i = i+1 %}
            {% endif %}
        {% endfor %}
    </div> 

如有任何帮助,我们将不胜感激。

不用管内联 css 和其他暴行。将其保存到 html 文件中并在浏览器中打开。

<style type="text/css">
    #groups {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-gap: : 1em;
    }
</style>

<body>
    <div id="groups">
        <div>group1</div>
        <div>group2<div>foo is nested</div>
        </div>
        <div>group3</div>
        <div>group4</div>
    </div>
</body>

应用于您的模板,类似于:

<div id="groups">
    {% for group in groups %}
        <div class="class_to_style_a_group">
            <h2>{{group[0]}}</h2>
            <p>{{group[1]}}</p>
        </div> 
    {% endfor %}
</div>