2017-12-14 3 views
0

フラスコのhtmlテンプレートにdataを渡しています。 htmlにはJavascriptがあり、繰り返し値が必要です。 dataは、同様に見えるFlaskのhtmlテンプレートのJavaScriptに値を反復する

のindex.htmlのよう

data[0] = 2, data[1] = 3, data[3] = 5, data[2] = .36: -

<!DOCTYPE html> 
<html> 

    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 


    <div id="chart_div"></div> 




{% for i in data %} 

<script> 
google.charts.load('current', {packages: ['corechart', 'line']}); 
google.charts.setOnLoadCallback(drawBackgroundColor); 

function drawBackgroundColor() { 
     var data = new google.visualization.DataTable(); 
     data.addColumn('number', 'X'); 
     data.addColumn('number', 'Dogs'); 

     data.addRows([ 
     [{{i[2]}}, {{i[6]}}] 
     ]); 

     var options = { 
     hAxis: { 
      title: 'Time' 
     }, 
     vAxis: { 
      title: 'Popularity' 
     }, 
     backgroundColor: '#f1f8e9' 
     }; 

     var chart = new google.visualization.LineChart(document.getElementById('chart_div')); 
     chart.draw(data, options); 
    } 
</script> 

{% endfor %} 


</html> 

私はここに値を反復処理したい、

data.addRows([ 
      [{{i[2]}}, {{i[6]}}] 
      ]); 

それはようにする必要があり、

data.addRows([ 
      [0,0], [0,1], [1,0], [1,1] 
      ]); 

しかし、それはスクリプト全体を反復しています。

答えて

0

スクリプト全体がforループの内側にあるため、テンプレートエンジンはデータにエントリがある回数だけスクリプトを複製します。

関連する問題