繁体   English   中英

迭代从 SqlAlchemy 中的会话查询返回的结果并将它们打印在烧瓶模板中

[英]Iterate over the results returned from session query in SqlAlchemy and print them in a flask template

如何迭代 session.query 从数据库中返回的结果并将它们打印在烧瓶模板中? 我有以下代码,我可以在其中成功迭代从数据库返回的结果并在我的 Flask 应用程序之外打印员工姓名。 我只是无法弄清楚如何使用以下代码并在烧瓶模板中打印出员工姓名:

def getEmployees():
    engine = create_engine('mssql+pyodbc://<server name>/<DB name>?driver=SQL+Server+Native+Client+11.0')
    Base = declarative_base(engine)

    class Bookmarks(Base):
        __tablename__ = 'table name'
        Employee = Column(String(50))
        __table_args__ = {'autoload':True}

    def loadSession():
        metadata = Base.metadata
        Session = sessionmaker(bind=engine)
        session = Session()
        return session

    if __name__ == "__main__":
        session = loadSession()
        results = Bookmarks.query.filter_by(Manager='Bob')

路线:

@app.route('/employeesName', methods=['GET')
def employeesName():
    if request.method == 'GET':
        return render_template('getEmployees.html')

模板(getEmployees.html):

<h2>Results</h2>
{% for employees in results %}
{{ employees.Employee }}
{% endfor %}

如何在烧瓶模板中打印由 Manager = 'Bob' 过滤的员工姓名? 非常感谢!

想通了这一点。 我应该在渲染模板时添加函数名称:

@app.route('/employeesName', methods=['GET')
def employeesName():
    if request.method == 'GET':
        return render_template('getEmployees.html', results=getEmployees())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM