我只想把favicon。ico放到我的staticfiles目录中,然后让它显示在我的应用程序中。
我怎样才能做到呢?
我已经把favicon.ico文件放在我的staticfiles目录中,但它没有显示,我在日志中看到了这一点:
127.0.0.1 - - [21/Feb/2014 10:10:53] "GET /favicon.ico HTTP/1.1" 404 -
如果我去http://localhost:8000/static/favicon.ico,我可以看到图标。
我只想把favicon。ico放到我的staticfiles目录中,然后让它显示在我的应用程序中。
我怎样才能做到呢?
我已经把favicon.ico文件放在我的staticfiles目录中,但它没有显示,我在日志中看到了这一点:
127.0.0.1 - - [21/Feb/2014 10:10:53] "GET /favicon.ico HTTP/1.1" 404 -
如果我去http://localhost:8000/static/favicon.ico,我可以看到图标。
当前回答
在模板文件中
{% load static %}
然后在<head>标签内
<link rel="shortcut icon" href="{% static 'favicon.ico' %}">
这假设您已经在settings.py中适当配置了静态文件。
注意:旧版本的Django使用load staticfiles,而不是load static。
其他回答
在模板文件中
{% load static %}
然后在<head>标签内
<link rel="shortcut icon" href="{% static 'favicon.ico' %}">
这假设您已经在settings.py中适当配置了静态文件。
注意:旧版本的Django使用load staticfiles,而不是load static。
在寻求帮助时偶然发现的。我试图在我的Django项目中实现favicon,它没有显示——想添加到对话中。
当我试图在我的Django项目中实现favicon时,我将“favicon.ico”文件重命名为“my_filename.ico”——图像不会显示。重命名为“favicon.ico”后解决了这个问题并显示了图形。下面是解决我的问题的代码:
<link rel="shortcut icon" type="image/png" href="{% static 'img/favicon.ico' %}" />
现在(2020年), 你可以在html文件中添加一个基本标签。
<head>
<base href="https://www.example.com/static/">
</head>
通用解决方案
你可以像在其他框架中一样在Django中显示favicon:只需要使用纯HTML。
将以下代码添加到HTML模板的头部。 如果favicon在整个应用程序中是相同的,最好是到您的基本HTML模板。
<link rel="shortcut icon" href="{% static 'favicon/favicon.png' %}"/>
前面的代码假设:
在静态文件夹中有一个名为“favicon”的文件夹 favicon文件名为favicon。png 您已经正确地设置了设置变量STATIC_URL
你可以在维基百科https://en.wikipedia.org/wiki/Favicon的这篇文章中找到关于文件格式支持和如何使用favicons的有用信息。 我可以推荐使用。png格式的浏览器兼容性。
编辑: 正如一条评论所言, “不要忘记在模板文件顶部添加{% load staticfiles %} !”
最佳实践:
与你所想的相反,favicon可以是任何大小和任何图像类型。点击这个链接了解详情。
不给你的图标添加链接会降低页面加载速度。
在django项目中,假设你的favicon的路径是:
myapp/static/icons/favicon.png
在你的django模板中(最好是在基本模板中),添加这一行到页面的头部:
<link rel="shortcut icon" href="{% static 'icons/favicon.png' %}">
注意:
我们假设,静态设置在settings.py中配置得很好。