在 Flask 中使用数据库值创建 HTML 表

myc*_*ist 5 python jinja2 flask

我想显示一个表格,显示表格中每个单位的三个字段的值。从数据库创建字典并将对象传递给模板的一些帮助将不胜感激。

@app.route('/')
def index(row):
    unit_count = Units.query.count()
    unit = Units.query.filter_by(id=row).first()
    rows = [] # Unsure how to define rows from Units db table
    return render_template('table_overview.html', title='Overview', rows=rows, unit=unit)
Run Code Online (Sandbox Code Playgroud)
@app.route('/')
def index(row):
    unit_count = Units.query.count()
    unit = Units.query.filter_by(id=row).first()
    rows = [] # Unsure how to define rows from Units db table
    return render_template('table_overview.html', title='Overview', rows=rows, unit=unit)
Run Code Online (Sandbox Code Playgroud)

abi*_*son 7

首先,您的视图函数无法接收row您指定的输入。如果您想显示表中的所有行,可以这样做:

视图.py:

@app.route('/')
def index():
    rows = Units.query.all()
    return render_template('table_overview.html',
                            title='Overview',
                            rows=rows)
Run Code Online (Sandbox Code Playgroud)

table_overview.html(模板)

    {% for row in rows %}
    <tr>
        <td>{{ row.idnum }}</a></td>
        <td>{{ row.product_code }}</td>
        <td bgcolor="{{ row.stat_colour }}">{{ row.unit_status }}</td>
    </tr>
    {% endfor %}
Run Code Online (Sandbox Code Playgroud)