Google图表-无效的语法或意外的令牌

我正在从mysql提取数据以绘制在饼图中。我正在使用jinja模板语法的python flask中执行此操作。我想显示一个饼图。

调试器向我展示了这一点

http://img.mukewang.com/60755766000183a903330134.jpg

 var data = google.visualization.arrayToDataTable([

                ['Shock', 'Number'],

               {% for record in data %}

                 ['{{record.shockStatus}}', {{record.number}}],

               {% endfor %}       

我可以在控制台中看到这些值。但是它一直说无效的语法或令牌。如果您能指出我做错了什么,将不胜感激。谢谢你。


更新


数据中包含什么。


[{u'number': 7, u'shockStatus': u'absent\r\n'}, {u'number': 7, u'shockStatus': u'present\r\n'}]


素胚勾勒不出你
浏览 138回答 1
1回答

肥皂起泡泡

您有两个问题:您的输入数据已嵌入换行符。您可能想用Python代码在生成数据时进行修复。您将对原始数据进行插值,就好像它是JavaScript安全的一样。不要那样做 使用tojson过滤器生成Javascript兼容语法。在Python中,将data序列转换为Javascript的正确格式,即,将shockStatus和数字值配对:# if you have dictionariesdata_transformed = [[r['shockStatus'].strip(), r['number']] for r in data]# or if you have objects with attributesdata_transformed = [[r.shockStatus.strip(), r.number] for r in data]我str.strip()在那里打了一个电话,以从您的shockStatus值中删除换行符和其他开头或结尾的白人节奏。将其传递到您的模板并使用: var data = google.visualization.arrayToDataTable([                ['Shock', 'Number'],                {{ data_transformed|tojson|safe }} )];
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python