我有一个简单的python方法,它将生成一个highcharts json
@app.route('/make/a/chart')
def make_chart():
data = get_data()
c = Counter
for each in data:
c['AGE'] += 1
highchart_json = {
'chart': {
'type': 'column'
}
'title': {
'text': 'arranged by age'
}
'x-axis': {
'categories': [x for x in c]
}
'series': {
'name': 'Groups By Age',
'data': [c[x] for x in c]
}
}
return render_template('some_template.html', json=highchart_json)
是否可以使用模板进行渲染,或者是通过jsonifying将其变为高级图并将其发送到前端的唯一真实方式?
答案 0 :(得分:5)
您可以将JSON作为Javascript结构放入模板中:
<script type="text/javascript">
var chart_data = {{ highchart_json|tojson|safe }};
</script>
然后您可以在JS代码中使用此客户端。毕竟,JSON是JavaScript的一个子集,或者至少是Python json
模块生成的JSON。
这使用Flask tojson
filter,它生成 HTML安全 JSON值;使用JSON \uxxxx
转义码为您转义任何HTML元字符。