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 multiprocessing.Manager介绍和实例(进程间共享数据)
Nov 21 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
Python获取当前公网ip并自动断开宽带连接实例代码
Jan 12 Python
python实现贪吃蛇小游戏
Mar 21 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
pyqt5数据库使用详细教程(打包解决方案)
Mar 25 Python
python中sys模块是做什么用的
Aug 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
php简单封装了一些常用JS操作
2007/02/25 PHP
动易数据转成dedecms的php程序
2007/04/07 PHP
PHP 文件类型判断代码
2009/03/13 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
javascript 日期常用的方法
2009/11/11 Javascript
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
移动端效果之IndexList详解
2017/10/20 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
如何从头实现一个node.js的koa框架
2019/06/17 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
Pandas标记删除重复记录的方法
2018/04/08 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
Python读取指定日期邮件的实例
2019/02/01 Python
Tensorflow分类器项目自定义数据读入的实现
2019/02/05 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
医生自荐信
2013/10/11 职场文书
党课学习思想汇报
2014/01/02 职场文书
消防安全责任书
2014/04/14 职场文书
教师敬业奉献模范事迹材料
2014/05/18 职场文书
医德医风自我评价2015
2015/03/03 职场文书
捐书仪式主持词
2015/07/04 职场文书
Golang 并发编程 SingleFlight模式
2022/04/26 Golang