Mic*_*nes 6 python json jinja2 flask
我想在我的模板中的JavaScript块中使用Flask视图中的一些数据.我尝试使用jsonify和tojson,但这给了一个错误.两者有什么区别?如何在模板中将JSON传递给JavaScript?
@app.route('/stocks')
def stocks():
stocks = jsonify({"aapl":{"price":700, "volume":5000000}, "goog":{"price":655, "volume":9750000}})
return render_template("stocks.html", stocks=stocks)
Run Code Online (Sandbox Code Playgroud)
<script>var zipcodes = {{ stocks|tojson }};</script>
Run Code Online (Sandbox Code Playgroud)
TypeError: <Response 21 bytes [200 OK]> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)
meh*_*hdy 10
jsonify返回Response从Flask视图返回的对象作为对客户端的JSON响应,因此在这种情况下stocks不是JSON对象而是Response对象.
如果要使用JSON但不通过使用直接将其返回到客户端,则可以使用tojson过滤器将对象转换为模板中的JSON.
当您需要在模板中使用JSON时,例如在JavaScript变量中使用它,您应该使用tojson.当您需要将JSON响应返回给客户端时,您应该使用它jsonify.
| 归档时间: |
|
| 查看次数: |
3414 次 |
| 最近记录: |