【问题标题】:querying database in html using jinja2使用jinja2在html中查询数据库
【发布时间】:2019-07-19 07:12:35
【问题描述】:

我有一个烧瓶应用程序。在一个视图中,我直接使用 jinja2 在 html 页面上进行查询,如下所示,它也可以正常工作

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

但是这样进行查询是一个好习惯吗?对此会有什么性能影响?

【问题讨论】:

    标签: python-3.x flask flask-sqlalchemy


    【解决方案1】:

    根据 Jinga 文档:

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

    那么你不应该。因为你无法控制结果。 Jinga 不适合这个。它没有实现所有的运算符表达式。你可能会减慢这个过程。 仅仅因为它有效并不意味着它应该被完成。

    这样做更合理:

    # The logic is done upstream.
    bill_balance = pendlist.query.filter_by(bill_user=users.id).first().bill_balance
    # bill_balance is now just a simple value.
    # You can check here if bill_balance whether or not this is correct.
    # It may look like an empty list/string/None if it is not in your database.
    # And you don't necessarily want to post it like that.
    return render_template("my_template.html", bill_balance=bill_balance)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多