转自http://yshblog.com/blog/16

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

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

现在为Django网站添加favicon.ico

 

一、设置django的static文件目录

django static文件的引入方式

 1. 在django project中创建 static文件夹

 2.settings.py中配置要在 STATIC_URL = '/static/'  下边 

  STATICFILES_DIRS = [

    os.path.join(BASE_DIR, 'static'), 

  ]

  或

  STATIC_ROOT = os.path.join(BASE_DIR, 'static')

一般我们刚开始创建的项目没有static这个目录,所有需要我们自己创建这个目录。

 

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

 

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

  1. from django.views.generic.base import RedirectView

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

  1. 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头添加如下代码:

  1、{% load staticfiles %}

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

刷新一下,终于可以了。

最后提醒一下,图标的大小要合适,尺寸太大的话就加载不了!

posted on 2017-09-15 11:02  言止予思  阅读(455)  评论(0)    收藏  举报