亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Google圖表-無效的語法或意外的令牌

Google圖表-無效的語法或意外的令牌

素胚勾勒不出你 2021-03-31 14:11:17
我正在從mysql提取數據以繪制在餅圖中。我正在使用jinja模板語法的python flask中執行此操作。我想顯示一個餅圖。調試器向我展示了這一點 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'}]
查看完整描述

1 回答

?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

您有兩個問題:

  • 您的輸入數據已嵌入換行符。您可能想用Python代碼在生成數據時進行修復。

  • 您將對原始數據進行插值,就好像它是JavaScript安全的一樣。不要那樣做 使用tojson過濾器生成Javascript兼容語法。

在Python中,將data序列轉換為Javascript的正確格式,即,將shockStatus和數字值配對:

# 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值中刪除換行符和其他開頭或結尾的白人節奏。


將其傳遞到您的模板并使用:


 var data = google.visualization.arrayToDataTable([

                ['Shock', 'Number'],

                {{ data_transformed|tojson|safe }}

 )];


查看完整回答
反對 回復 2021-04-13
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號