在 Flask 中构建带有动态元素的 Bootstrap 表

Posted

技术标签:

【中文标题】在 Flask 中构建带有动态元素的 Bootstrap 表【英文标题】:Building a Bootstrap table with dynamic elements in Flask 【发布时间】:2015-12-22 19:26:50 【问题描述】:

我正在与 Flask 合作,根据从 SQLAlchemy 数据库中获取的人员列表构建 Bootstrap 表。但是,我想放在表格中的信息出现在表格上方。

这是有问题的代码:

<!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 %

(这已经是瘦身版了,因为我一直在拿东西看它是否能解决问题。)

但是假设我的数据库中有两个人,Alice 和 Bob。 Alice 30 岁,Bob 40 岁,Alice 的选项是 1,Bob 的选项是 2。这就是我得到的:

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

链接

我在 Flask here 中发现了另一个关于 Bootstrap 表的问题,但它并没有真正解决我的问题。我的数据完全按照我的意愿传递到 html 页面,我只想把它放在一个表格中。

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

在Bootstrap docs 中也没有找到任何有用的东西。

非常感谢任何帮助!

【问题讨论】:

【参考方案1】:

您缺少一些 &lt;tr&gt;&lt;td&gt; 标签:

<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>

您的目标是为每个用户创建一个表行 (&lt;tr&gt;),并为其每个属性创建一些表数据 (&lt;td&gt;)。你还有一个% endblock %,你应该有一个% endfor %

【讨论】:

非常感谢!我现在不在电脑旁,但我明天会修复我的代码,我相信它会工作的。

以上是关于在 Flask 中构建带有动态元素的 Bootstrap 表的主要内容,如果未能解决你的问题,请参考以下文章

使用带有固定位置标题的 scrollIntoView

从DOM数据元素动态构建选择语句[重复]

带有 GAE ndb 的 Flask Flask 安全性?

带有 Flask 身份验证的 AngularJS

在代码中为动态元素数量设置约束

动态更新 Flask 应用程序中的文本以获取温度读数