我现在尝试了很多东西,我用谷歌搜索了几个小时,但我无法解决我的问题。
配置文件:
[/]
tools.staticdir.root = "/Users/phil/Dropbox/Projects/AppName"
[/main.css]
tools.staticfile.on = True
tools.staticfile.filename = "/Users/phil/Dropbox/Projects/AppName/css/main.css"
[/images]
tools.staticdir.on = True
tools.staticdir.dir = "images"
CherryPy代码:
import cherrypy, os
class AppName(object):
def index(self):
return "<img src='images/logo.jpeg'>"
index.exposed = True
cherrypy.config.update('/Users/phil/Dropbox/Projects/AppName/conf/AppName.config')
cherrypy.quickstart(AppName())
我的问题是它不起作用,我尝试了所有组合路径等等但是当我做某事时,图像和css不会加载......“
以下是加载应用程序时出现的错误:
127.0.0.1 - - [24/May/2012:22:28:47] "GET /images/logo.jpeg HTTP/1.1" 404 1268 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5"
答案 0 :(得分:6)
不确定问题是什么,但这有效:
[/]
tools.staticdir.root = "/Users/phil/Dropbox/Projects/AppName"
[/images]
tools.staticdir.on = True
tools.staticdir.dir = "images"
启动应用程序:
cherrypy.quickstart(AppName(), '/', 'AppName.config')
CherryPy代码:
def index(self):
return "<img src='/images/logo.jpeg'>"
index.exposed = True
我认为/之前的图像也很重要。感谢所有
答案 1 :(得分:3)
查看Cherrypy手册的Serving Static Content部分,看看是否可以帮助您。
或者,以下是我以前用于提供静态内容的内容 - main()
内的字典。
conf = {
'/':
{'tools.staticdir.root': os.path.dirname(os.path.abspath(__file__))},
'/css': {
'tools.staticfile.on': True,
'tools.staticfile.filename': os.path.join(os.path.dirname(os.path.abspath(__file__)), 'css/')
}
}
cherrypy.quickstart(AppName(), config=conf)
答案 2 :(得分:2)
将此添加到您的配置文件中:
[/]
tools.staticdir.debug: True
log.screen: True
你应该能够立即缩小问题范围。
答案 3 :(得分:0)
我花了一些时间让这个在Windows上工作,所以我希望它有助于分享(目前)工作的内容。我正在使用cherrypy.quickstart(website(), '/', "server.conf")
来启动服务器。
我确实发现我必须手动在js
中指定子文件夹。
## Server Configuration
[global]
server.socket_port = 3030
#engine.autoreload.on = False #Might as well turn off when working on HTML
log.error_file = "H:\\My Documents BACKED UP\GitProjects\website\logfile"
[/]
tools.staticdir.debug = True
log.screen = True
tools.sessions.on = True
[/js]
tools.staticdir.on = True
tools.staticdir.dir = "H:\\My Documents BACKED UP\GitProjects\website\js"
[/js/vendor]
tools.staticdir.on = True
tools.staticdir.dir = "H:\\My Documents BACKED UP\GitProjects\website\js\\vendor"
[/img]
tools.staticdir.on = True
tools.staticdir.dir = "H:\\My Documents BACKED UP\GitProjects\website\img"
[/css]
tools.staticdir.on = True
tools.staticdir.dir = "H:\\My Documents BACKED UP\GitProjects\website\css"