Django 实现前端图片压缩功能的方法


Posted in Python onAugust 07, 2019

思路:

<img alt="" src="/img/图片真实地址" ></img>

上面是一个典型的HTML中的图片,在django中,src对应的path会经过url进行过滤处理,所以可以通过写view过滤器的方式来实现图片压缩,代码如下

url

url(r'^img/(?P<path>(.+))/$',img),

view

def img(request,path):
  im=Image.open(settings.STATIC_ROOT+path)
  x,y=im.size
  im=im.resize((int(x/1.5),int(y/1.5)),Image.ANTIALIAS)
  response = HttpResponse(mimetype="image/png")
  #将PIL的image对象写入response中,通过response返回
  im.save(response, "PNG")
  return response

结论:通过类似于filter的方法可以实现图片压缩,且下一个请求该图片时,会直接调用缓存,并不会再次进行图片压缩。

注:对性能的影响会在验证完成后上传

以上这篇Django 实现前端图片压缩功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的一些陷阱与技巧小结
Jul 10 Python
Tesserocr库的正确安装方式
Oct 19 Python
Python中使用logging和traceback模块记录日志和跟踪异常
Apr 09 Python
2019 Python最新面试题及答案16道题
Apr 11 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
Aug 06 Python
Python使用grequests(gevent+requests)并发发送请求过程解析
Sep 25 Python
python Event事件、进程池与线程池、协程解析
Oct 25 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
python对Excel的读取的示例代码
Feb 14 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
python filecmp.dircmp实现递归比对两个目录的方法
May 22 Python
基于python实现复制文件并重命名
Sep 16 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 #Python
python 直接赋值和copy的区别详解
Aug 07 #Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 #Python
python的常见矩阵运算(小结)
Aug 07 #Python
python字典的setdefault的巧妙用法
Aug 07 #Python
解决Django中调用keras的模型出现的问题
Aug 07 #Python
python 字典 setdefault()和get()方法比较详解
Aug 07 #Python
You might like
Prototype使用指南之hash.js
2007/01/10 Javascript
javascript FormatNumber函数实现方法
2008/12/30 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
jquery的trigger和triggerHandler的区别示例介绍
2014/04/20 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
js计算德州扑克牌面值的方法
2015/03/04 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
2017/07/17 Javascript
vue 自定义全局方法,在组件里面的使用介绍
2018/02/28 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[03:54]Ehome出征西雅图 回顾2016国际邀请赛晋级之路
2016/08/02 DOTA
[00:55]深扒TI7聊天轮盘语音出处3
2017/05/11 DOTA
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
事务机电主管工作职责
2014/02/25 职场文书
政风行风建设整改方案
2014/10/27 职场文书
房产公证书
2015/01/23 职场文书
国庆节慰问信
2015/02/15 职场文书
实用求职信模板范文
2019/05/13 职场文书
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby