2011-03-02 43 views
5

我正在尝试使用Tornado web服务器编写一个简单的python web应用程序,并且无法使用我需要的JavaScript库。我想用Protovis的JavaScript库绘图,所以我加了下面的“Hello World”代码段,我template.html:龙卷风和JavaScript库的问题

<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> 

每当我运行Web服务器,但是,并尝试访问该页面时,我得到在控制台上出现以下错误:

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代码,谢谢。

回答

13

您应该阅读关于static files的文档。

特别是,标准的方法是:

  • 在你的应用

  • 的根目录下创建一个“静态”的目录添加下列到你的应用程序设置:

    “ static_path“:os.path.join(os.path.dirname(file),”static“)

  • protovis-d3.2.js在静态目录

  • 请参阅文件/static/protovis-d2.2.js在你的HTML
+1

非常感谢,这个完美帮助过我 – Swaraj