【问题标题】:Jinja template value not formatting correctlyJinja 模板值格式不正确
【发布时间】:2022-11-18 07:45:03
【问题描述】:

请注意,我已经阅读了 Jinja 文档,我已经在 stackOverflow 和 Google 搜索结果中搜索了很多答案。我还没有找到任何解决这个问题的方法。

--

场景:使用 python 从 sql dtatbase 调用变量,然后在 html 文件中传递给 jinja。

蟒蛇/SQL `

    user_id = session["user_id"]
    stocks = db.execute("SELECT * FROM  current_holdings")
    cash = db.execute("SELECT cash FROM  users WHERE id = ?", user_id)
    return render_template("portfolio.html", stocks=stocks, cash=cash)

`

问题部分的 jijna/html `

                           <tr>
                               <td col span = "4"></td>
                                <td col span = "4"></td>
                                <td col span = "4"></td>
                                <td id = "cash">Cash</td>
                                <td>{{cash}}</td>
                            </tr>

`

问题部分的输出

屏幕上显示的意外问题格式:[{'cash': 50000}] 例外:50000

相同的 Jijna 代码(诚然在 for 循环内)适用于同一 html 文档中的以下代码

`

{% for stock in stocks %}
                            <tr class="info_cells">
                                <td>{{ stock["symbol"]}}</td>
                                <td>{{ stock["name"]}}</td>
                                <td>{{ stock["quantity"]}}</td>
                                <td>{{ stock["price"]}}</td>
                                <td>{{ stock["total"]}}</td>
                            </tr>
{% endfor %}

` 此部分仅成功输出值。这两个部分都包含在

{% block main %}

SQL 注意事项:jinja 从两个不同的表中提取数据。这些表的格式相同,并且位于相同的工作区和 .db 文件中。其他格式为 NUMERIC 的值可以正确呈现。

关于 Jinja 符号的注意事项:dict.vr 和 dict["var"] 已尝试互换使用,但没有取得有益的成功。

--

场景:使用 python 从 sql dtatbase 调用变量,然后在 html 文件中传递给 jinja。 屏幕上显示的意外问题格式:[{'cash': 50000}] 例外:50000

同一 HTML 文件中的其他 Jinja 代码按预期运行

【问题讨论】:

  • 从你的输出:cash.0.cash。但最好是更正您的查询。
  • 但最好是更正您的查询 - 详细说明。我遵循我从中学到的文档/课程的格式。所以如果你知道一些我不知道的东西,我要得到它的唯一方法就是把它拼出来。 “来自您的输出:cash.0.cash” - 感谢您的提示,这解决了问题。
  • 你在你的代码中削减了太多,我无法就应该如何修复这个问题给出适当的建议。但是,从您的代码中尖叫出来的是,您正在获取用户列表,而您的查询应该返回一个用户。

标签: html format output jinja2


【解决方案1】:

下面的代码调整解决了这个问题

<tr>
  <td col span = "4"></td>
  <td col span = "4"></td>
  <td col span = "4"></td>
  <td id = "cash">Cash</td>
  <td>{{cash.0.cash}}</td>
</tr>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多