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实现登录人人网并抓取新鲜事的方法
May 11 Python
Python实现递归遍历文件夹并删除文件
Apr 18 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Python3实现的判断回文链表算法示例
Mar 08 Python
python 实现一个反向单位矩阵示例
Nov 29 Python
python自动识别文本编码格式代码
Dec 26 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
Feb 24 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
pycharm软件实现设置自动保存操作
Jun 08 Python
Python如何将装饰器定义为类
Jul 30 Python
python跨文件使用全局变量的实现
Nov 17 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
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
ThinkPHP 3.2.3实现页面静态化功能的方法详解
2017/08/03 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
jQuery实现当按下回车键时绑定点击事件
2014/01/28 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jQuery.each使用详解
2015/07/07 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
javascript多物体运动实现方法分析
2016/01/08 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python实现PS滤镜的万花筒效果示例
2018/01/23 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
名词解释型面试题(主要是网络)
2013/12/27 面试题
小学生通知书评语
2014/12/31 职场文书
保洁员岗位职责
2015/02/04 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
行为习惯主题班会
2015/08/14 职场文书
同学联谊会邀请函
2019/06/24 职场文书
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python