Google图表无效语法或意外标记

2024-09-28 16:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从mysql中获取数据以绘制饼图。 我在python flask中使用jinja模板语法来做这个。 我想显示一个饼图。在

调试器显示了这个

enter image description here

 var data = google.visualization.arrayToDataTable([
                ['Shock', 'Number'],
               {% for record in data %}
                 ['{{record.shockStatus}}', {{record.number}}],
               {% endfor %}       

我可以在控制台中看到值。但它一直在说无效的语法或标记。如果你能指出我哪里做错了,我将不胜感激。非常感谢。在

更新

数据中包含的内容。在

^{pr2}$

Tags: 模板flasknumberdatavargooglemysql语法
1条回答
网友
1楼 · 发布于 2024-09-28 16:23:12

你有两个问题:

  • 您的输入数据已嵌入换行符。您可能希望在生成数据时用Python代码修复这个问题。在
  • 您正在插值原始数据,就好像它是JavaScript安全的。别那样做。使用^{} filter生成与Javascript兼容的语法。在

从Python中,将data序列转换为Javascript的正确格式,即以shockStatus和number值对的形式:

# if you have dictionaries
data_transformed = [[r['shockStatus'].strip(), r['number']] for r in data]
# or if you have objects with attributes
data_transformed = [[r.shockStatus.strip(), r.number] for r in data]

我在其中包含了一个str.strip()调用,以从shockStatus值中删除换行符和其他前导或尾随空格。在

将其传递到模板并使用:

^{pr2}$

相关问题 更多 >