2011-03-02 79 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