gpt4 book ai didi

python - 无法使用 Cherrypy 禁用或删除 favicon.ico

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:38 27 4
gpt4 key购买 nike

我在将默认的 cherrypy favicon 更改为我自己的 book.ico 时遇到问题,该图标位于 public/images/books.ico 中。我已尝试使用以下代码禁用它:

    '/favicon.ico': {
'tools.staticfile.on': False,
}

但该图标仍显示为选项卡标签。我正在使用 chrome 以隐身模式浏览该网站。

import cherrypy
import os
import glob


class HelloWorld(object):
favicon_ico = None
@cherrypy.expose
def index(self):
return file('public/html/index.html')

...跳过 def generate(self, name)

if __name__ == '__main__':
cherrypy.config.update({

'server.socket_host':
'192.168.2.9','server.socket_port':8080,
'/static': {
'tools.staticdir.on': True,
'tools.staticdir.dir': os.getcwd(),
},
'/public': {
'tools.staticdir.on': True,
'tools.staticdir.dir': os.path.join(os.getcwd(), "/public"),
},
'/favicon.ico': {
'tools.staticfile.on': True,
'tools.staticfile.filename': os.path.join(os.getcwd(), '/public/images/books.ico')
}
})
cherrypy.tree.mount(HelloWorld())
cherrypy.engine.start()
cherrypy.engine.block()

目录结构

.
├── app.conf
├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── activate_this.py
│   ├── cherryd
│   ├── easy_install
│   ├── easy_install-2.7
│   ├── pip
│   ├── pip2
│   ├── pip2.7
│   ├── python
│   ├── python2 -> python
│   └── python2.7 -> python
├── books.ico
├── CherrypyProd.py
├── images
├── pip-selfcheck.json
├── public
│   ├── css
│   ├── html
│   │   ├── books.png
│   │   └── index.html
│   └── images
│   ├── books.ico
│   └── books.png
├── ssl
├── static
   └── books.png

如何用我自己的 books.ico 替换默认的 favicon.ico???

预先感谢您的帮助。如果我可以进一步澄清,请告诉我。

最佳答案

有点知名但很烦人favicon cache issue .

W3C recommends从 HTML 4.01 开始使用链接标签而不是依赖于 /favicon.ico。它允许您避免为网站图标制作异常路由,并使用 JPEG 和 PNG 等普通图像格式。它还允许公司缓存失效在查询字符串中提供版本。

<link rel="icon" type="image/png" href="/static/myicon.png?v=1">

为确保您的配置正确并且是浏览器缓存问题,请对文件和 CherryPy 响应进行校验和。

cat books.ico | md5sum
wget -qO- http://192.168.2.9:8080/favicon.ico | md5sum

附带建议,不要依赖os.getcwd,因为很容易忘记预先设置当前目录的假设。最好设置 path = os.path.abspath(os.path.dirname(__file__)) 并在以后使用它。

关于python - 无法使用 Cherrypy 禁用或删除 favicon.ico,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29017416/

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