【问题标题】:How to display object in template Flask as json?如何将模板Flask中的对象显示为json?
【发布时间】:2018-05-16 15:33:32
【问题描述】:

我有一个路由方法:

@app.route('/add', methods=['GET'])
def add_view():
    return render_template('add.html', categories=api.categories())

然后我尝试在模板add.html 中将categories 显示为JSON:

{{ categories | json }}

没有用

【问题讨论】:

  • 请提供更多关于什么不起作用的详细信息,确切地说。错误消息,错误的行为描述,一切

标签: python flask


【解决方案1】:

我发现很难准确理解您在此处寻找的内容,因此我想查看更多详细信息,但这里的答案基于我认为您所要求的内容(I'将根据您的需要对其进行编辑/如果情况发生变化,请完全删除此评论)。

您正在调用 api.categories() 并希望在您的 HTML 模板上将其呈现为 JSON,是吗?

好的,我在这里推荐的是确保api.categories() 返回dict 的实例。例如,您的 api.categories() 调用应返回如下内容:

{
    "testKey1": "testValue1",
    "testKey2": "testValue2"
}

现在在您的 HTML 模板中将其呈现为 JSON。您可以使用以下导入在 Flask 模块中导入 json 模块:

import json

现在您在add_view 方法中的返回语句将如下所示:

return render_template('add.html', categories=json.dumps(api.categories()))

您现在可以在 HTML 模板中执行如下操作:

<script>
    document.write("{{categories}}");
<script>

这应该可以很好地为您呈现 JSON。

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    相关资源
    最近更新 更多