如何优雅地处理Django中的favicon.ico图标详解

前言

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

本文主要给大家介绍了关于优雅处理Django中favicon.ico图标的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧

起步

默认情况下,浏览器会访问网站 "/favicon.ico" 这个地址获取网站的图标。如果没有配置的话,Django 会返回一个 404 错误。这对于强迫症的人来说,真的很烦。我们有现有的图标,且按开发规范一般存放 static/ 下。

网上的方法

网上找了大概两种处理方式,但都不够优雅。

方法一:使用重定向

在项目的 urls.py 中添加规则:

from django.urls import path

from django.views.generic.base import RedirectView

urlpatterns=[

...

path('favicon.ico', RedirectView.as_view(url='static/img/favicon.ico')),

]

这种方式我认为是最不好的一种方式,它会让浏览器产生一个新的请求。

方法二:指定图标地址

这种方法就是告诉浏览器,网站图片的正确地址,因此需要在模板中的头部指定:

{% load staticfiles %}

这种方法也挺好的。但我还是想从 /favicon.ico 这个地址中解决这个问题。

最优雅的方式

django 有自己的静态文件的处理方法,那就可以设置 url 规则,返回某个静态文件的:

from django.contrib.staticfiles.views import serve

urlpatterns = [

...

path('favicon.ico', serve, {'path': 'img/favicon.ico'}),

]

从根本上解决还不反弹,很棒,很好很强大。

Django添加favicon.ico图标的示例代码

所谓favicon,即Favorites Icon的缩写,让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。

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

若是没有配置的话,Django就会返回一个404错误,并且浏览器接收到这个404错误后不会显示出来,一般不会被察觉。

但是服务器要是开启日志记录的话,这错误就会一直记录下来,累积一大堆无用的记录。

添加favicon.ico图标的方法有两种

首先先制作一个ico文件,使用PS或者某些在线生成ico的网站即可,我是在下面的网站生成的,当然,你也可以用其他网站!

http://tools.jb51.net/aideddesign/ico_img

下载后将此文件命名为“favicon.ico”后放在static/blog/img/下

方法一、在url.py中添加:

from Django.views.generic.base import RedirectView

urlpatterns=[

...

# favicon.cio

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

]

把请求"/favicon.ico",指向static/blog/img/favicon.ico 这个文件,重新部署一下项目就可以看到你想要的效果。

方法二、在页面直接重定向:

{% load staticfiles %}

...

...

刷新一下,就可以看到效果了哦!!!

记住,一定要把他放在全局head标签里面,这样才会获得应有的效果!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

python运用ico图标,处理Django中的favicon.ico图标实例方法相关推荐

  1. python运用ico图标_如何优雅地处理Django中的favicon.ico图标详解

    前言 favicon.ico是网站的图标也是网站的头像,简单来说,就是让我们的网站更加好看. 本文主要给大家介绍了关于优雅处理Django中favicon.ico图标的相关内容,分享出来供大家参考学习 ...

  2. SpringBoot项目中增加favicon.ico图标

    项目中增加favicon.ico图标 前情摘要:用了两年的项目,ico一直用的是默认的图标,最近领导要求换个带有公司logo的ico,项目中正式用的是设计小姐姐发给我的,以下文章中使用的是我自己下载的 ...

  3. VUE更换项目中的favicon.ico图标

    VUE2中更换项目中的favicon.ico图标步骤: 方法一: 1.使用比特虫免费在线制作ico图标(网站地址:https://www.bitbug.net/): 2.将新的图标命名为new-fav ...

  4. html 地址坐标图标,浏览器地址栏中显示自定义小图标

    什么是favicon? 所谓favicon,即Favorites Icon的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站.当然,这不仅仅是Favicon ...

  5. python django整理(五)配置favicon.ico,解决警告Not Found: /favicon.ico

    Django 浏览器打开警告Not Found: /favicon.ico,解决问题需要三步 1.首先准备favicon.ico图片,网上有很多转化工具,放到在前面python django整理(四) ...

  6. python的软件叫什么-django中的app是指什么

    Django中的app(application)就是应用的意思,当我们的项目足够大的时候,我们将功能单独分成多个app进行开发. Django中的app app(application)就是应用的意思 ...

  7. python 邮箱验证_在Django中进行用户注册和邮箱验证的方法

    本文主要介绍我在利用Django写文章时,采用的注册方法.首先说一下整体逻辑思路: •处理用户注册数据, •产生token,生成验证URL, •发送验证邮件, •用户登录网址,进行验证, •验证处理. ...

  8. Vue脚手架中添加favicon.ico图标失效问题

    最近项目中根目录添加favicon.ico,直接在index.html中加入 <link rel="shortcut icon" type="image/x-ico ...

  9. 在基于Spring MVC的应用程序中配置favicon.ico

    Favicon是与您的网站相关的图标(favicon.ico). 并非每个网站都在使用favicon. 但是大多数浏览器并不关心它,反正他们都要求它. 当图标图标不在适当位置时,服务器将返回不必要的4 ...

  10. nginx error.log中的 favicon.ico 错误

    今天配置一个测试域名,然后重启nginx,发现error log中很多如下错误: 2014/06/27 10:35:47 [error] 23757#0: *196360 open() "/ ...

最新文章

  1. 金融科技公司采用大数据领先银行的三种方式
  2. DateChooser控件发布ASP.NET 2.0新版(我的ASP.NET 2.0控件开发书的第二个阶段项目)[请大家一定注意版本的更新,下载最新版]...
  3. Matt Smith 的 悬浮标签
  4. numpy库中的extend()函数使用
  5. Angular jasmine如何从detectChange触发refreshView进而执行到Component的hook实现
  6. 神经网络基本原理简明教程-0-Python-Numpy库的点滴
  7. 华夏银行招聘计算机笔试题,2019华夏银行招聘结构化面试试题及答案
  8. 30 万奖金等你来!第三届 Apache Flink 极客挑战赛暨 AAIG CUP 报名开始
  9. VB.NET小程序:改变图片大小
  10. 64 串口测速工具及实验
  11. Java2实用教程(第五版)/第五章例题
  12. java8_我是如何优雅的使用Optional的
  13. 日本剑道规则及道场礼节 ——值得学习
  14. echarts3.0 markline 最大值 最小值 均值 方差 标准差 包络 正态分布
  15. nginx正向代理解决跨域问题
  16. 计算机网络 自顶向下(5)链路层——学习笔记
  17. 计算机配置介绍英语作文,需一篇用英文介绍笔记本电脑的小文章!~
  18. EnhancerAtlas:人和小鼠的增强子数据库
  19. 去IOE运动-正在路上
  20. flarum设置导航栏

热门文章

  1. 解决vue项目背景图片在IE和火狐上不显示的问题
  2. 自建 IPA 分发平台
  3. 关于flutter出现Because flutter_app depends on flutter_screenutil >=3.0.0-beta.1 which requires Flutter S
  4. 一次蜿蜒曲折的RFID破解之路
  5. python函数自己调用自己_python怎么调用自己的函数
  6. matlab|dsolve解决常微分初值与讲解(含实例使用)
  7. aden - 接小球游戏
  8. 论文总结与展望怎么写?
  9. python输出时间差_利用python计算时间差(返回天数)
  10. C++模板(函数模板/类模板)