5

我正在尝试使用 Tornado Web 服务器编写一个简单的 Python Web 应用程序,但在使用我需要的 JavaScript 库时遇到了麻烦。我想使用 Protovis JavaScript 绘图库,所以我在我的 template.html 中添加了以下“Hello World”代码片段:

<script type="text/javascript" src="/protovis-d3.2.js"></script>
<script type="text/javascript+protovis">
new pv.Panel()
    .width(150)
    .height(150)
    .anchor("center")
    .add(pv.Label)
        .text("Hello, world!")
        .root.render();
</script>

但是,每当我运行网络服务器并尝试访问该页面时,我都会在控制台中收到以下错误:

WARNING:root:404 GET /protovis-d3.2.js (127.0.0.1) 0.46ms

protovis.js 文件和我的 server.py 文件在同一目录下,并且所有权限都设置正确。我在尝试 src 和 JavaScript 文件时遇到了同样的错误,所以我知道 protovis.js 文件没有问题,但 Tornado 服务器的路由有问题。

有谁知道我如何正确 src 这个 JavaScript 代码,谢谢。

4

1 回答 1

12

您应该阅读有关静态文件的文档。

特别是,标准方法是:

  • 在应用程序的根目录中创建一个“静态”目录

  • 将以下内容添加到您的应用程序设置中:

    “静态路径”:os.path.join(os.path.dirname(文件),“静态”)

  • protovis-d3.2.js放在你的静态目录中

  • 请参阅HTML中的文件/static/protovis-d2.2.js
于 2011-03-02T12:11:07.917 回答