2017-12-02 3 views
-4

私はルート方法があります。その後、私はテンプレートadd.html内部でJSONとしてcategories表示しようとしたテンプレートにオブジェクトを表示する方法jsonのようにFlask?

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

を:

{{ categories | json }} 

それは私がそれは難しい正確に何を理解するために見つける

+0

正常に動作しないものについて詳しく説明してください。エラーメッセージ、間違った動作の説明、すべて –

答えて

0

を動作しません。あなたはここを探していますので、詳細を見たいと思いますが、ここで答えは私がと思っていますあなたはこれを頼んでいます(私はこれをsuiに編集しますあなたの必要性/物事が変わったらこのコメントを完全に削除する)。

あなたはapi.categories()を呼び出していて、これをHTMLテンプレートのJSONとしてレンダリングしようとしていますか?

OKここで私はapi.categories()dictのインスタンスを返すようにすることをお勧めします。あなたのHTMLテンプレートにJSONとしてこれをレンダリングするために今すぐ

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

:たとえば、あなたapi.categories()呼び出しはこのような何かを返す必要があります。あなたは、次のインポートを使用して、フラスコモジュールでjsonモジュールをインポートすることができます。

import json 

次のように今、あなたのadd_view方法であなたのreturn文は次のようになります。

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

次のようにあなたが今のような何かを行うことができますあなたのHTMLテンプレートでは:

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

これはあなたのためのあなたのJSONをレンダリングする必要があります。

関連する問題