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