利用Flas中的动态元素构建Bootstrap表

2024-04-20 13:27:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在和Flask一起从SQLAlchemy数据库中提取的人员列表中构建一个引导表。但是,我想放在表格中的信息出现在上面。

下面是有问题的代码:

<!DOCTYPE html>

{% extends "base.html" %}

{% block page_content %}
<div class="page-header">
    <h1>componentes familiares</h1>
        <table class="table">
            <thead>
                <th>name</th>
                <th>age</th>
                <th>option</th>
            </thead>
            <tbody>
                {% for person in people %}
                    <tr>{{ person.name }}</tr>
                    <tr>{{ person.age }}</tr>
                    <tr>{{ person.option }}</tr>
                {% endblock %}
            </tbody>
        </table>
{% endblock %}

(这已经是一个精简版了,因为我不停地把东西拿下来看看是否能解决问题。)

但假设我的数据库里有两个人,爱丽丝和鲍勃。爱丽丝30岁,鲍勃40岁,爱丽丝的选择是1,鲍勃的选择是2。这就是我得到的:

enter image description here

信息在那里,但它呈现在表的上方。在它的正下方是表格标题和一个空表格行。

链接

我在烧瓶here中发现了另一个关于引导表的问题,但它并没有真正解决我的问题。我的数据正按照我的要求被传递到html页面,我只想把它放到一个表中。

我还找到了Flask-Table,一个用Python构建表并使用它的扩展。它可能最终会成为一个解决方案,但我仍然不知道我的代码有什么问题。

Bootstrap docs中也没有发现任何有用的东西。

非常感谢您的帮助!


Tags: 代码name信息数据库flaskhtmlpagetable
1条回答
网友
1楼 · 发布于 2024-04-20 13:27:49

您缺少几个<tr><td>标记:

<table class="table">
    <thead>
        <tr>
            <th>name</th>
            <th>age</th>
            <th>option</th>
        <tr>
    </thead>
    <tbody>
        {% for person in people %}
        <tr>
            <td>{{ person.name }}</td>
            <td>{{ person.age }}</td>
            <td>{{ person.option }}</td>
        </tr>
        {% endfor %}
    </tbody>
</table>

您的目标是为每个用户创建一个表行(<tr>),并为每个属性创建一些表数据(<td>)。你还有一个{% endblock %},在这里你应该有一个{% endfor %}

相关问题 更多 >