如何在模板Flask中显示对象为json?

时间:2017-12-02 19:44:45

标签: python flask

我有路线方法:

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

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

{{ categories | json }}

不起作用

1 个答案:

答案 0 :(得分:0)

我发现很难准确理解你在这里寻找什么,所以我希望看到更多详细信息,但这里的答案基于我认为你所要求的(我'如果事情发生变化,请编辑此内容以满足您的需要/完全删除此评论。

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

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

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

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

import json

现在,add_view方法中的return语句如下:

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

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

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

这应该让你的JSON很好。