我只想将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
,我可以看到这个图标。
发布于 2014-02-21 23:13:13
如果您有一个到处都包含的基础或标题模板,为什么不在基本的HTML中包含这个图标呢?
<link rel="shortcut icon" type="image/png" href="{% static 'favicon.ico' %}"/>
发布于 2014-02-21 23:21:46
一个轻量级的技巧是在urls.py
文件中进行重定向,例如添加一个视图,如下所示:
from django.views.generic.base import RedirectView
favicon_view = RedirectView.as_view(url='/static/favicon.ico', permanent=True)
urlpatterns = [
...
re_path(r'^favicon\.ico$', favicon_view),
...
]
这是一个简单的技巧,当你没有其他静态内容可供托管时,它可以很好地让图标正常工作。
发布于 2019-07-15 23:10:30
在您的settings.py
中,添加一个静态文件根目录:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
创建/static/images/favicon.ico
将图标添加到您的模板(base.html):
{% load static %}
<link rel="shortcut icon" type="image/png" href="{% static 'images/favicon.ico' %}"/>
并在urls.py
中创建url重定向,因为浏览器会在/favicon.ico
中查找收藏图标
from django.contrib.staticfiles.storage import staticfiles_storage
from django.views.generic.base import RedirectView
urlpatterns = [
...
path('favicon.ico', RedirectView.as_view(url=staticfiles_storage.url('images/favicon.ico')))
]
https://stackoverflow.com/questions/21938028
复制相似问题