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

yipeiwu_com5年前Python基础

思路:

<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设计】。

相关文章

Django如何实现上传图片功能

Django如何实现上传图片功能

前言 很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-filer 这个模块实现将图片文件直接放在自己...

pytorch载入预训练模型后,实现训练指定层

1、有了已经训练好的模型参数,对这个模型的某些层做了改变,如何利用这些训练好的模型参数继续训练: pretrained_params = torch.load('Pretrained...

python读取和保存图片5种方法对比

python读取和保存图片5种方法对比 python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块 方法一:利用 PIL 中的 Image 函数 这个函...

更改Python命令行交互提示符的方法

一、定制Python的交互提示符 Python的默认交互提示符为“>>>”,但它是可以定制的。 Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此...

python读取目录下所有的jpg文件,并显示第一张图片的示例

如下所示: # -*- coding: UTF-8 -*- import numpy as np import os from scipy.misc import imread, i...