【问题标题】:google-charts not getting displayed on the server谷歌图表未显示在服务器上
【发布时间】:2012-07-06 07:28:02
【问题描述】:

我的代码:

<html>
  <head>
   <script type="text/javascript" src="https://www.google.com/jsapi"></script>
   <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
        ['FileName', 'Frequency'],
        {% for l in list1 %}
              [{{l.file_name}},{{l.frequency_count}}], 
        {% endfor %}
        ]);

        var options = {
        title: 'Search Performance',
        hAxis: {title: 'FileName', titleTextStyle: {color: 'red'}}
        };

        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
   </script>
  </head>
  <body>
     <div id="chart_div" style="width: 900px; height: 500px;"></div>
  </body>
</html>

在服务器上运行我的应用程序(在 Django 中创建)时,此图表未显示,为什么?这个页面是“results.html”,它来自我的views.py 文件。这里“list1”包含存储在表中的数据,即“file_name”和“frequency_count”。为什么会这样?

我是 Django、google-charts 和 JavaScript 的新手。

【问题讨论】:

    标签: python django linux google-visualization ubuntu-10.04


    【解决方案1】:

    您可能在打印图表的 javacript 数组值的循环中遇到问题。我猜文件名是字符串,因此需要用'" 分隔,如下所示:

    {% for l in list1 %}
        ['{{ l.file_name }}', {{ l.frequency_count }}], 
    {% endfor %}
    

    为了测试这一点,我只是摆脱了循环并放入了几行示例静态数据,如下所示:

    var data = google.visualization.arrayToDataTable([
            ['FileName', 'Frequency'],
                ['this', 100],
                ['that', 200]
            ]);
    

    我得到了图表:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 2015-01-25
      相关资源
      最近更新 更多