你已經有了將數據插入Jinja2模板的正確思路。看起來你只是沒有正確格式化輸入到google.visualization.arrayToDataTable
。請注意,您的一個空心方括號([)未關閉。
下面是我如何做到這一點,以防萬一它可以幫助你的例子。你可以看到它here。
創建result_list
數組沒有意義。 results
查詢將被處理,無論它是否在您的處理程序或模板中執行都無關緊要。
<script type="text/javascript">
var data = new google.visualization.DataTable();
data.addColumn("string", "Candidate");
data.addColumn("number", "Votes");
data.addColumn({type:"string", role:"tooltip"});
data.addColumn({type: "boolean", role:"certainty"});
data.addColumn("number", "Received");
data.addColumn({type:"string", role:"tooltip"});
data.addColumn("number", "Transferred");
data.addColumn({type:"string", role:"tooltip"});
data.addRows([["Vanilla", 110.000000, "Votes: 110", true, 0.000000, "Votes: 110", 0.000000, "Votes: 110"],["Chocolate", 117.000000, "Votes: 117", true, 0.000000, "Votes: 117", 0.000000, "Votes: 117"],["Strawberry", 80.000000, "Votes: 80", true, 0.000000, "Votes: 80", 0.000000, "Votes: 80"],["Chocolate Chip", 103.000000, "Votes: 103", true, 0.000000, "Votes: 103", 0.000000, "Votes: 103"],["Cookies and Cream", 118.000000, "Votes: 118", true, 0.000000, "Votes: 118", 0.000000, "Votes: 118"],["Exhausted", 0.000000, "Votes: 0", true, 0.000000, "Votes: 0", 0.000000, "Votes: 0"]]);
var formatter = new google.visualization.NumberFormat({fractionDigits:0});
formatter.format(data, 1);
formatter.format(data, 3);
formatter.format(data, 5);
var options = {
width:'100%',
height:200,
legend:{position:"none"},
chartArea:{left:100,top:0,width:'100%',height:175},
hAxis:{maxValue:276},
isStacked:true,
colors:["#fcd050", "#87cf32", "#ef3638"],
};
var chart = new google.visualization.BarChart(document.getElementById("282249-1"));
chart.draw(data, options);
</script>
,你在你的問題描述我會做你的Jinja2模板。這不適合你嗎?請注意,您可以將'results'傳遞給您的模板,並且您不需要創建'result_list'。 –
謝謝@Kekito,我無法讓它工作。由於發佈我注意到可能出現的問題,我想我可能需要一個「」後{{結果|安全}}但我試過,仍然沒有呈現。 – Ron
@Kekito - 我忘了提,我的查詢中包含其他領域,如date_started等這樣會是更好的過濾出這些查詢的開始,而不是創造result_list? – Ron