2017-12-02 223 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就好了。