2017-12-02 224 views
-4

我有一个路由方法:如何将模板Flask中的对象显示为json?

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

然后我试图显示categories为JSON内模板add.html

{{ categories | json }} 

它不工作

+0

请提供什么行不通的详细信息,准确。错误消息,错误的行为描述,一切 –

回答

0

我觉得很难理解到底是什么你正在寻找在这里,所以我想看到更多的细节,但这里是基于我认为你问一个答案(我将修改这SUI你的需求/如果事情改变,完全删除这个评论)。

你调用api.categories()并打算使这是JSON你的HTML模板,是吗?

确定什么,我建议你在这里是为了确保api.categories()正在返回的dict一个实例。例如,您的通话api.categories()返回应该是这样的:

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

现在在你的HTML模板来渲染这是JSON。您可以使用以下进口导入瓶模块中的json模块:

import json 

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

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

你现在可以做类似如下在你的HTML模板中:

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

这应该为你呈现你的JSON就好了。