我开始学习樱桃,但我遇到了障碍。我无法获取静态文件来挽救我的生命。我得到了404. The path '/static' was not found.
我用Google搜索但尚未找到解决方案。我想做的就是在http://localhost:8080/static
Suggetions?
import os
import cherrypy
class Root(object):
@cherrypy.expose
def index(self):
pass
config = {
'/static':{
'tools.staticdir.on': True,
'tools.staticdir.dir': os.path.join(os.path.dirname(__file__), 'static')
}
}
cherrypy.tree.mount(Root(), '/', config = config)
cherrypy.engine.start()
答案 0 :(得分:6)
一些想法:
tools.staticdir.debug = True
,结合log.screen = True
或其他一些更首选的日志记录设置。在这个答案中,这比我能猜到的任何东西都要多。tools.staticdir.dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'static'))
;它必须是绝对的(或者,如果.dir不是绝对的,那么tools.staticdir.root需要)。答案 1 :(得分:0)
试试这个
web_config = {'/': {
'tools.staticdir.on': True,
'tools.staticdir.root' : os.path.abspath(os.path.join(os.path.dirname(__file__))),
'tools.staticdir.dir' : os.path.abspath(os.path.join(os.path.dirname(__file__), 'static'))
},
"/favicon.ico": {
'tools.staticfile.on': True,
'tools.staticfile.filename': "favicon.ico",
'tools.staticdir.on': True,
'tools.staticdir.dir': "images",
},
'/robots.txt': {
'tools.staticfile.on': True,
'tools.staticfile.filename': "robots.txt",
'tools.staticdir.on': True,
'tools.staticdir.dir': "", },
'/images': {
'tools.staticdir.on': True,
'tools.staticdir.dir': "images",
},
'/css': {
'tools.staticdir.on': True,
'tools.staticdir.dir': "css",
},
'/js': {
'tools.staticdir.on': True,
'tools.staticdir.dir': "js",
}
}
并开始于
if __name__ == "__main__":
cherrypy.config.update(server_config)
cherrypy.tree.mount(WebSpid(), config=web_config)
if hasattr(cherrypy.engine, 'block'):
# 3.1 syntax
cherrypy.engine.start()
cherrypy.engine.block()