如何在本地 web2py 中设置 favicon.ico 路由

How to set up favicon.ico route in local web2py

我正在使用默认方法 (python web2py.py) 运行 在 127.0.0.1:8000 上测试我的 web2py 服务器,在我的 routes.py 文件中我有

routes_in=(
    (r'.*/favicon.ico',r'/myapp/static/images/favicon.ico'),
)

当我转到http://127.0.0.1:8000/myapp/static/images/favicon.ico时,我可以看到图标,但是当我转到http://127.0.0.1:8000/favicon.ico时,我仍然看不到。我究竟做错了什么?我试过匹配 r'.*:/favicon.ico' 和其他各种组合,FWIW.

编辑:routes.py 文件也有行

routers = dict(BASE=dict(default_application='myapp',),)

文件前面的内容,这似乎是导致问题的原因。

如前所述here,您不能混合使用基于参数和基于模式的重写系统。 routes.pyrouters 字典的存在触发了基于参数的系统的使用,因此 routes_in 将被忽略,因为它仅与基于模式的系统相关。

如果您想使用基于参数的系统,请在 routers 内指定一个 default_application,并将 favicon.ico 文件放入默认应用程序的 /static文件夹。