发布时间:2019/09/05 20:34:24   更新时间:2020/07/31 19:49:56
django开发的网站,如果favicon.ico不显示,要考虑这么几个方面:
1、www.yourweb.com/favicon.ico/能不能显示?
如果不能,那么你url.py可能缺少一条路由:
path('favicon.ico', RedirectView.as_view(url='static/img/favicon.ico')),
2、如果有了这个路由,
www.yourweb.com/favicon.ico/
会跳转为:
https://www. yourweb.com/static/img/favicon.ico
能跳转不?
如果不能,那么你额static目录可能不能访问。
需要url.py加如下一句:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
当然settings.py里边,肯定得有:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR,'static')
3、如果有跳转了,还不能显示。
那么,你的STATIC_ROOT这个目录里,是不是没有favicon.ico文件?
注意,如果用前端打包技术打包出来的前端代码,这个文件可能就是没有。需要你手动给加进去。
注意一点:比如vue开发,nodejs调试的时候,favicon.ico是由html中,如下代码决定的。
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
本篇文章,是把这个前端代码打包,部署到django上,显示favicon.ico所需要的。
4、如果还是不行。
nginx是不是没有添加如下?
location ^~ /static {
root /home/xxx/; (添加你的BASE_DIR)
}
5、如果还是显示不出来,或者显示效果不好。
那么,你的favicon.ico是不是16*16像素的?
是否要重新做一个。
这个网站可以做:https://tool.lu/favicon/