Python 使用CherryPy服务静态文件忽略装入点?

Python 使用CherryPy服务静态文件忽略装入点?,python,configuration,cherrypy,static-files,Python,Configuration,Cherrypy,Static Files,我正在尝试为我的CherryPy应用程序提供静态内容,当应用程序安装在根目录下时,一切正常: cherrypy.quickstart(root=Controller(), config="../app.conf") 使用以下app.conf: [/] tools.staticdir.root: os.path.abspath("../public") tools.encode.on: False tools.gzip.on: True tools.gzip.mime_types: ['text

我正在尝试为我的CherryPy应用程序提供静态内容,当应用程序安装在根目录下时,一切正常:

cherrypy.quickstart(root=Controller(), config="../app.conf")
使用以下app.conf:

[/]
tools.staticdir.root: os.path.abspath("../public")
tools.encode.on: False
tools.gzip.on: True
tools.gzip.mime_types: ['text/html', 'text/plain', 'application/json',    'text/javascript', 'application/javascript']
tools.staticdir.debug: True

[/js]
tools.staticdir.on: True
tools.staticdir.dir: 'js'

[/css]
tools.staticdir.on: True
tools.staticdir.dir: 'css'

[/images]
tools.staticdir.on: True
tools.staticdir.dir: 'images'
但是,当使用以下内容替换cherrypy.quickstart调用时(请注意脚本名称):


动态URL(即cherrypy“route”方法)已正确重定向到/myapp/[method name],但静态文件仍从根URL发送到服务器。如何使静态文件自动使用新的装入点?我可以在引用相对静态内容文件夹文件路径的同时使用新的装载点吗?

我就是这样解决的:

[/]
tools.staticdir.root: os.path.abspath("public/")
tools.encode.on: False
tools.gzip.on: True
tools.gzip.mime_types: ['text/html', 'text/plain', 'application/json', 'text/javascript', 'application/javascript']

[/static]
tools.etags.on: True
tools.staticdir.on: True
tools.staticdir.dir: "public"

[/js]
tools.staticdir.on: True
tools.staticdir.dir: 'js'

[/css]
tools.staticdir.on: True
tools.staticdir.dir: 'css'

[/images]
tools.staticdir.on: True
tools.staticdir.dir: 'images'

我就是这样解决的:

[/]
tools.staticdir.root: os.path.abspath("public/")
tools.encode.on: False
tools.gzip.on: True
tools.gzip.mime_types: ['text/html', 'text/plain', 'application/json', 'text/javascript', 'application/javascript']

[/static]
tools.etags.on: True
tools.staticdir.on: True
tools.staticdir.dir: "public"

[/js]
tools.staticdir.on: True
tools.staticdir.dir: 'js'

[/css]
tools.staticdir.on: True
tools.staticdir.dir: 'css'

[/images]
tools.staticdir.on: True
tools.staticdir.dir: 'images'

你必须手动映射特定于应用程序的静态资源。它独立于应用程序树。我刚才在这里回答了一个类似的问题:并在这里回答我自己关于配置文件的问题时展示了我的一些工作:你必须手动映射特定于应用程序的静态资源。它独立于应用程序树。我刚才在这里回答了一个类似的问题:当我回答自己关于配置文件的问题时,展示了我的一些工作: