python/flask/Jinja2和Json

yip*_*ing 9 python json jinja2 highcharts flask

"我正在使用Flask,Jinja2,higHighcharts"

示例(Python/Flask):

@app.route("/column/")
def column():
    data=[{"data": [49.9, 54.4], "name": "Tokyo"}, {"data": [42, 30.4], "name": "AC"}]
    return render_template('column.html', data=data)
Run Code Online (Sandbox Code Playgroud)

我的模板

$(document).ready(function() {
      chart1 = new Highcharts.Chart({
         chart: {
            renderTo: 'container',
            type: 'bar'
         },
         title: {
            text: 'Fruit Consumption'
         },
         xAxis: {
            categories: ['Apples', 'Bananas', 'Oranges']
         },
         yAxis: {
            title: {
               text: 'Fruit eaten'
            }
         },
         series:{{ data }}
      });
   });
Run Code Online (Sandbox Code Playgroud)

我查看highcharts(column.html)

series:[{&\#39;data': [4, 5, 9], &\#39;name&\#39;: &\#39;Jane&\#39;},{&\#39;data&\#39;: [8, 3, 4], &\#39;name&\#39;: &\#39;John&\#39;}]});
Run Code Online (Sandbox Code Playgroud)

我想纠正Jinja2的措辞,最终得到理想的结果.

series: [{
            name: 'Jane',
            data: [1, 0, 4]}, {
            name: 'John',
            data: [5, 7, 3]
         }]
Run Code Online (Sandbox Code Playgroud)

mik*_*iku 17

标记您的数据安全Markup:

将字符串标记为可安全包含在HTML/XML输出中而无需转义.

{{ data }}改为{{ data|tojson|safe }}.

  • 或者只是将`{{data}}`更改为`{{data | tojson | safe}}`. (3认同)