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 相关文章推荐
安装dbus-python的简要教程
May 05 Python
Python如何判断数独是否合法
Sep 08 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
Jan 14 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
keras-siamese用自己的数据集实现详解
Jun 10 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Python命令行参数argv和argparse该如何使用
Feb 08 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 Python
Python 图片添加美颜效果
Apr 28 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字符串截取的简单方法
2013/07/04 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
php内嵌函数用法实例
2015/03/20 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
2016/07/15 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
jQuery EasyUI API 中文文档 - ComboGrid 组合表格
2011/10/13 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
2019/03/15 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
2019/11/09 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
Javascript实现打鼓效果
2021/01/29 Javascript
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
Django如何自定义model创建数据库索引的顺序
2019/06/20 Python
python移位运算的实现
2019/07/15 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
意大利网上药房:Farmacia 33
2020/01/27 全球购物
先进员工获奖感言
2014/08/14 职场文书
详解Nginx启动失败的几种错误处理
2021/04/01 Servers
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android
使用Redis实现实时排行榜功能
2021/07/02 Redis
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
python实现手机推送 代码也就10行左右
2022/04/12 Python
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js