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


Posted in Python onJuly 05, 2018

前言

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 %}
<head lang="zh">
 <meta charset="UTF-8">
 <link rel="shortcut icon" href="{%static " rel="external nofollow" img/favicon.ico" %}" /> <!-- 添加这行 -->
 <title></title>
</head>

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

最优雅的方式

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

from django.contrib.staticfiles.views import serve

urlpatterns = [
 ...
 path('favicon.ico', serve, {'path': 'img/favicon.ico'}),
]

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python绘图库Matplotlib的安装
Jul 03 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
Python应用库大全总结
May 30 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
python集合删除多种方法详解
Feb 10 Python
pandas DataFrame 数据选取,修改,切片的实现
Apr 24 Python
Pycharm连接远程服务器过程图解
Apr 30 Python
Python中and和or如何使用
May 28 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 #Python
解决Python pandas df 写入excel 出现的问题
Jul 04 #Python
python处理数据,存进hive表的方法
Jul 04 #Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 #Python
使用pandas read_table读取csv文件的方法
Jul 04 #Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 #Python
Python读取mat文件,并转为csv文件的实例
Jul 04 #Python
You might like
一个ubbcode的函数,速度很快.
2006/10/09 PHP
php桌面中心(一) 创建数据库
2007/03/11 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
2019/10/21 PHP
js 数值项目的格式化函数代码
2010/05/14 Javascript
js 固定悬浮效果实现思路代码
2013/08/02 Javascript
Js放到HTML文件中的哪个位置有什么区别
2013/08/21 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
关于img的href和src取变量及赋值的方法
2014/04/28 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
jquery实现简单的遮罩层
2016/01/08 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
Python图像读写方法对比
2020/11/16 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
企业后勤岗位职责
2014/02/28 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
护校行动方案
2014/05/31 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
绘画专业自荐信
2014/07/04 职场文书
关于五一放假的通知
2015/08/18 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书