如何优雅地处理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中xrange和range的区别
May 13 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 Python
Python实现连接postgresql数据库的方法分析
Dec 27 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
使用Python写一个小游戏
Apr 02 Python
selenium + python 获取table数据的示例讲解
Oct 13 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
Django实现单用户登录的方法示例
Mar 28 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
python线程的几种创建方式详解
Aug 29 Python
Python TestSuite生成测试报告过程解析
Jul 23 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 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
php 中英文语言转换类代码
2011/08/11 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
JavaScript 计算当天是本年本月的第几周
2009/03/22 Javascript
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
Python函数返回值实例分析
2015/06/08 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
python如何设置静态变量
2020/09/07 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
早餐连锁店计划书
2014/01/08 职场文书
学生会干部自荐信
2014/02/04 职场文书
优秀教研组申报材料
2014/12/26 职场文书
兵马俑导游词
2015/02/02 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
python基础之爬虫入门
2021/05/10 Python
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记