我使用cherryPy框架來服務我的網站,但它似乎無法找到我的css腳本與靜態路徑或絕對路徑。如果我只是通過瀏覽器轉到index.tmpl文件,css腳本可以正常工作,但是當我通過cherrypy請求它時,它不會使用css腳本。CherryPy似乎無法找到CSS腳本(靜態或絕對路徑)
根目錄結構:
site.py
template/index.tmpl
static/css/main.css
site.py
import sys
import cherrypy
import os
from Cheetah.Template import Template
class Root:
@cherrypy.expose
def index(self):
htmlTemplate = Template(file='templates/index.tmpl')
htmlTemplate.css_scripts=['css/main.css']
return str(htmlTemplate)
# On Startup
current_dir = os.path.dirname(os.path.abspath(__file__)) + os.path.sep
cherrypy.config.update({
'environment': 'production',
'log.screen': True,
'server.socket_host': '127.0.0.1',
'server.socket_port': 2000,
'engine.autoreload_on': True,
'/':{
'tools.staticdir.root' : current_dir,
},
'/static':{
'tools.staticdir.on' : True,
'tools.staticdir.dir' : "static",
},
})
cherrypy.quickstart(Root())
模板/ index.tmpl
<!DOCTYPE html>
<html>
<head>
#for $script in $css_scripts:
<link rel="stylesheet" href="$script" type="text/css" />
#end for
<link rel="stylesheet" href="C:/ABSOLUTE/PATH/main.css" type="text/css" />
</head>
<body>
<! MY HTML CODE IS HERE>
</body>
</html>
我究竟做錯了什麼?
EDIT
我與static/css/main.css
試圖以相對於研究site.py和相對靜態路徑
我還試圖相對路徑,以index.tmpl
這是錯誤我得到:
GET http://localhost:2000/static/css/main.css 404 (Not Found)
它wooooorks !!!!謝謝!我不知道爲什麼要添加全局幫助,但它確實如此。我被卡住了兩晚之後就瘋了。現在我希望我知道原因...... – Maciejg