gpt4 book ai didi

python - 在 CherryPy 3.1 中提供静态文件 favicon.ico 和 robots.txt 时出现问题

转载 作者:太空狗 更新时间:2023-10-30 02:49:37 25 4
gpt4 key购买 nike

例如,当我尝试浏览到 favicon.ico 时,出现此错误:

ValueError: Static tool requires an absolute filename (got 'favicon.ico')

我可以访问/images、/css 和/js 文件夹中的任何内容。那些服务很好。该网站看起来和行为都很棒。就是这该死的两个文件。

这是我的 root.conf 文件。

[/]
tools.staticdir.on = True
tools.staticdir.root = "/projects/mysite/root"
tools.staticdir.dir = ""

[/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"

这是我的 cherrypy.conf 文件:

[global]
server.socket_port = 8888
server.thread_pool = 10
tools.sessions.on = True

这是我的“startweb.py”脚本:

import cherrypy
from root.roothandler import Root

cherrypy.config.update("cherrypy.conf")

cherrypy.tree.mount(Root(), "/", "root/root.conf")

if hasattr(cherrypy.engine, 'block'):
# 3.1 syntax
cherrypy.engine.start()
cherrypy.engine.block()
else:
# 3.0 syntax
cherrypy.server.quickstart()
cherrypy.engine.start()

最佳答案

当您为特定 URL 打开 CherryPy 工具时,它也会为它下面的所有“子”URL 打开。因此,您的配置中的 [/images][/css][/js] 部分似乎是多余的。 [/robots.txt] 部分也是如此。

[/favicon.ico] 也是多余的,除了 favicon.ico 是特殊的,因为 CherryPy 通常会为您设置一个(作为根对象的属性;请参阅 _cptree.py).所以覆盖它是合适的:

[/]
tools.staticdir.on = True
tools.staticdir.root = "/projects/mysite/trunk/root"
tools.staticdir.dir = ""
tools.staticfile.root = "/projects/mysite/trunk/root"

[/favicon.ico]
tools.staticfile.on = True
tools.staticfile.filename = "images/favicon.ico"

关于python - 在 CherryPy 3.1 中提供静态文件 favicon.ico 和 robots.txt 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com