如何优雅地处理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实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
python使用turtle绘制分形树
Jun 22 Python
想学python 这5本书籍你必看!
Dec 11 Python
11个Python3字典内置方法大全与示例汇总
May 13 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
Python csv文件记录流程代码解析
Jul 16 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
Nov 17 Python
Python实现自动整理文件的脚本
Dec 17 Python
pandas针对excel处理的实现
Jan 15 Python
如何用Python和JS实现的Web SSH工具
Feb 23 Python
详解python第三方库的安装、PyInstaller库、random库
Mar 03 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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
php微信开发之图片回复功能
2018/06/14 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
python创建临时文件夹的方法
2015/07/06 Python
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
python验证码识别实例代码
2018/02/03 Python
如何通过Python实现标签云算法
2019/07/02 Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
2020/03/01 Python
Python中Yield的基本用法
2020/10/18 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
求职简历推荐信范文
2013/12/02 职场文书
广告设计应届生求职信
2014/03/01 职场文书
《果园机器人》教学反思
2014/04/13 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
供货协议书范本
2014/04/22 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
运动会100米广播稿
2015/08/19 职场文书
tensorflow中的梯度求解及梯度裁剪操作
2021/05/26 Python