默认情况下,浏览器访问一个网站的时候,同时还会向服务器请求"/favicon.ico"这个URL,目的是获取网站的图标。

favicon.ico是网站的图标也是网站的头像,简单来说,就是让我们的网站更加好看。

现在为Django网站添加favicon.ico


首先,你得要有一个favicon.ico文件。我偷懒一下,直接拿来主义,从easy icon直接搜索一个图标。下载ico文件,并改名为favicon.ico。然后我把它放到静态文件目录中 /static/media/favicon.ico


打开Django应用下的urls.py文件。先导入RedirectView,这个是定向的方法。

from django.views.generic.base import RedirectView

再urlpatterns中添加链接,如下所示:

url(r'^favicon\.ico$', RedirectView.as_view(url='/static/media/favicon.ico')),

把请求"/favicon.ico",指向/static/media/favicon.ico 这个文件。

在生产环境测试一下,执行 python manage.py runserver 启动服务器。打开网站,发现出现了图标。


你以为这样就结束了吗?!还没有!


我屁颠屁颠把文件上传到部署的服务器。打开我的域名访问网站,发现那个图标还是不出现。

想了想,还是用最原始的方式添加favicon.ico文件。打开最底层的模版,在head头添加如下代码:

<link rel="shortcut icon" href="/static/media/favicon.ico">

刷新一下,终于可以了。