【问题标题】:python/flask/Jinja2 and Jsonpython/flask/Jinja2 和 Json
【发布时间】:2012-12-19 13:32:37
【问题描述】:

“我正在使用 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)

我的模板

$(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 }}
      });
   });

我查看 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;}]});

我想纠正 Jinja2 的措辞,最终达到预期的结果。

series: [{
            name: 'Jane',
            data: [1, 0, 4]}, {
            name: 'John',
            data: [5, 7, 3]
         }]

【问题讨论】:

  • @Blender 谢谢,这就是我想要的。将 {{ data }} 更改为 {{ data|tojson|safe }}。
  • 您是否介意发布您的完整 column.html 文件(使用 javascript),我正在解决同样的问题,但我无法让您的代码正常工作。谢谢!

标签: python json highcharts flask jinja2


【解决方案1】:

使用Markup 将您的数据标记为安全

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

或将{{ data }} 更改为{{ data|tojson|safe }}

【讨论】:

  • 或者把{{ data }}改成{{ data|tojson|safe }}
  • @Blender 谢谢,这就是我想要的。
  • 在 Flask 0.10 中,您似乎不再需要使用 tojson 过滤器将字符串标记为“安全”。 IE。 {{ data|tojson }} 应该可以正常工作 docs
猜你喜欢
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
相关资源
最近更新 更多