使用 flask-sqlalchemy 正确发布渲染数据

Issues rendering data correctly using flask-sqlalchemy

背景: 从 flask sqlalchemy 数据库中正确查询数据时出现问题。在 html 模板中,我在 for 循环中使用 html5 datalist 标记来呈现我的 table 的 column1 下列出的每个字段。 Table 是 classList 和 column1 if field1.

问题: 目前数据呈现在一个集群中,这意味着整个列将为下拉列表中的每个字段呈现。我试图让它只渲染第 1 列下的每个单元格。我尝试使用 .first() 跟踪结果变量,但我得到一个“AttributeError:'str' object has no attribute 'field1'”错误。任何帮助深表感谢。谢谢。

views.py

@app.route('/', methods=['GET', 'POST'])
def index():
    classList = db.Table('classList', db.metadata, autoload=True, autoload_with=db.engine)
    results = [i.field1 for i in db.session.query(classList)]
    return render_template('index.html', results=results)

html模板

{% block content %}
    <input type="text" list="classlist" Placeholder="Search list..">
    <datalist id="classlist">
    {% for i in results %}
        <option>{{ results }}</option>
    {% endfor %}
    </datalist>
{% endblock %}

@Kruspe 提供了解决方案。将标签中的结果更改为 i.

<option>{{ i }}</option>