【问题标题】:Google visualization api on app engine not working... (python)应用引擎上的 Google 可视化 api 无法正常工作...(python)
【发布时间】:2010-02-18 17:44:27
【问题描述】:

我正在尝试在应用引擎上的应用中呈现 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

【问题讨论】:

  • 说真的,我们怎么知道?我们不知道您的 app.yaml 是什么样的,也不知道 HTML/JS。我认为你必须给我们一些东西来看看,这样我们才能帮助你。另外,您说的是开发服务器还是已部署的应用程序?
  • 其他有助于使问题得到回答的事情就是您所说的“不工作”。你在屏幕上看到了什么?
  • balpha:很好......粗鲁的评论,没有帮助......如果你没有什么有用的话,也许你不应该浪费时间发帖。
  • Peter:应用程序已部署,但在 sdk 上运行时出现同样的问题。屏幕呈现除表格之外的所有内容。查看源代码显示生成了正确的 javascript,如果我将源代码保存为页面并查看它,一切正常。虽然我对 python/app 引擎还很陌生,但我通常会很快上手。如果有关于可视化 api 和应用程序引擎(python 或 java)的教程,我很乐意去那里。谢谢!
  • 亲爱的 Sologoub: 很抱歉我的评论对您来说显得粗鲁,因为这绝对不是故意的(您认为我评论的哪一部分是粗鲁的?)。我所做的只是试图向您解释为什么以您提供的当前信息水平无法为您提供帮助。这里有很多人总是试图提供帮助,但你必须给我们一些可以合作的东西。我发表此评论是因为我帮助您。你写“我在 app.yaml 中缺少一些配置吗?”这里可能有些人可以回答这个问题——如果他们看到你的 app.yaml。

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


【解决方案1】:

等等,你在哪里进行渲染? Visapi 的东西进入客户端。那是你有它的地方吗? (对不起,如果这很明显;从你写问题的方式来看,这真的不完全清楚。)

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

【讨论】:

  • 谢谢,是的,它在客户端。我已经发布了 html 和 app.yaml。我 99% 确定问题出在 app.yaml 或包含远程 javascript。
  • 我从来不需要对 app.yaml 做任何事情来让这些工作。 FWIW。
  • 啊,现在我有机会查看您生成的代码。你的问题是你的代码。我认为您将“在生成的 html 上工作”与“在正确的事情以正确的顺序发生时偶然发生的工作”混淆了。如果你解决了这个问题,它也可以在 appengine 中工作。
  • LH,很抱歉,您能详细说明一下吗?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多