Python 3.x 使用jinja2在html中查询数据库

Python 3.x 使用jinja2在html中查询数据库,python-3.x,flask,flask-sqlalchemy,Python 3.x,Flask,Flask Sqlalchemy,我有一份烧瓶申请表。在一个视图中,我直接使用jinja2在html页面上进行查询,如下所示,它也可以工作 <td> {{ pendlist.query.filter_by(bill_user=users.id).first().bill_balance}} </td> 但这是一个很好的实践来提出这样的问题吗?这将对性能产生什么影响?根据Jinga文档: 毫无疑问,您应该尝试从模板中删除尽可能多的逻辑 那你就不应该了。因为你无法控制结果。Jinga不适合这样做。它并没有实

我有一份烧瓶申请表。在一个视图中,我直接使用jinja2在html页面上进行查询,如下所示,它也可以工作

<td> {{ pendlist.query.filter_by(bill_user=users.id).first().bill_balance}} </td>

但这是一个很好的实践来提出这样的问题吗?这将对性能产生什么影响?

根据Jinga文档:

毫无疑问,您应该尝试从模板中删除尽可能多的逻辑

那你就不应该了。因为你无法控制结果。Jinga不适合这样做。它并没有实现所有的运算符表达式。你可能会放慢进程。 仅仅因为它起作用并不意味着就应该这样做

这样做更合理:

逻辑是在上游完成的。 账单余额=pendlist.query.filter\u bybill\u user=users.id.first.bill\u余额 账单余额现在只是一个简单的值。 您可以在这里检查账单余额是否正确。 如果它不在数据库中,它可能看起来像一个空列表/字符串/无。 你也不一定想这样发布。 返回render_template my_template.html,bill_balance=bill_balance