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 Web开发框架Django
Jun 30 Python
跟老齐学Python之list和str比较
Sep 20 Python
用于统计项目中代码总行数的Python脚本分享
Apr 21 Python
python脚本内运行linux命令的方法
Jul 02 Python
Python之web模板应用
Dec 26 Python
Python IDLE清空窗口的实例
Jun 25 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
python 二维数组90度旋转的方法
Jan 28 Python
浅谈Python反射 &amp; 单例模式
Mar 21 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
python求前n个阶乘的和实例
Apr 02 Python
python框架flask入门之环境搭建及开启调试
Jun 07 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输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
php中使用sftp教程
2015/03/30 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP Cookie学习笔记
2016/08/23 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
实现checkbox全选、反选、取消JavaScript小脚本异常
2014/04/10 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
jquery添加div实现消息聊天框
2020/02/08 jQuery
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python 使用os.remove删除文件夹时报错的解决方法
2017/01/13 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
python psutil监控进程实例
2019/12/17 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
历史专业个人求职信分享
2013/12/20 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
夫妻吵架保证书
2015/05/08 职场文书