应用程序引擎上的Google可视化API无法运行...(python)

时间:2010-02-18 17:44:28

标签: python google-app-engine google-visualization

我正在尝试在应用引擎上的应用中呈现Google可视化API中提供的可排序表格,但它无效。该应用程序是用python编写的,并使用django框架。

当我复制生成的HTML / Javascript并将其保存为本地的普通html文件时,它可以正常工作。这让我相信问题出在http://www.google.com/jsapi'>没有被包括或无法运行。

其他人遇到这个?我在app.yaml中错过了一些配置文件吗?

谢谢!

编辑:这是正在制作的HTML:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1 DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 <head>
   <title> 
      Test
   </title> 
   <link href="/css/css.css" rel="stylesheet" type="text/css" /> 
    <script type='text/javascript' src='http://www.google.com/jsapi'></script> 
    <script type='text/javascript'> 
      google.load('visualization', '1', {packages:['table']});
      google.setOnLoadCallback(drawTable);
      function drawTable() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Number');
        data.addColumn('string', 'Status');
    data.addColumn('string', 'Nickname');
        data.addColumn('string', 'Target');
    data.addColumn('string', 'Recording');
        data.addRows(2);

        data.setCell(0, 0, '0987654321');

    data.setCell(0, 1, 'Active');

        data.setCell(0, 2, 'Nothing');
        data.setCell(0, 3, '1234567890');

    data.setCell(0, 4, 'Enabled');

    data.setCell(1, 0, '0987654321');

    data.setCell(1, 1, 'Active');

        data.setCell(1, 2, 'Nothing');
        data.setCell(1, 3, '1234567890');

    data.setCell(1, 4, 'Enabled');


       var table = new google.visualization.Table(document.getElementById('table_div'));
       table.draw(data, {showRowNumber: true});
      }
    </script> 
 </head> 
 <body> 
    <div id='table_div'></div> 
 </body> 
</html> 

如果保存为html文件,这样可以正常工作。

app.yaml:

application: testapp
version: 2
runtime: python
api_version: 1

handlers:
- url: /(.*\.(mp3|wav))
  static_files: \1
  upload: (.*\.(mp3|wav))

- url: /css
  static_dir: css

- url: /.*
  script: main.py

2 个答案:

答案 0 :(得分:0)

等等,你在做什么渲染? visapi的东西在客户端。那是你的地方吗? (对不起,如果这很明显;从你写这个问题的方式来看,这并不完全清楚。)

更多细节肯定会有所帮助。

答案 1 :(得分:0)

如果其他人有这个问题 - 我搞砸了使用我为XML输出创建的相同函数渲染生成的页面的标题。

包括这个杀了它:handler.response.headers [“Content-Type”] =“text / xml”