怎么在Django中利用easy_thumbnails实现压缩上传图片

  介绍

本篇文章给大家分享的是有关怎么在Django中利用easy_thumbnails实现压缩上传图片,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强>在Django中压缩

设置。py

首先,设置中添加

THUMBNAIL_ALIASES =, {   ,& # 39;& # 39;:,{   & # 39;才能化身# 39;:,{& # 39;大小# 39;:,(200,,200),& # 39;作物# 39;:,真正},   },   }

大小控制要压缩后的图片大小

<强>创建模型

,

模型。py

得到easy_thumbnails.fields  import  ThumbnailerImageField      class  GoodsImage (models.Model):=,,Img  ThumbnailerImageField (upload_to=& # 39;图像/& # 39;,空白=True)

ThumbnailerImageField在数据库中做的事相当于models.ImageField,不同的是他会告诉esay_thumbnails这是一个要被压缩的图片域。(个人推测)

获取缩略图路径

两种,一是在模板中,二在视图中

<强>模板:

视图。py

得到models  import  GoodsImage   def 测试(请求):=,,goods  GoodsMessage.objects.all()中国当代(),#,查到一个图片   ,return 渲染(请求,& # 39;templates.html& # 39;, {& # 39; img # 39;:商品}),#,使用模板

模板。html

{%, load  thumbnail  %},{#,装载easy_thumbnail  #}   https://www.yisu.com/zixun/& lt; img  src="/媒体/{{img。Img}} ">{#原图#}   {#压缩图#}

<强>视图

视图。py

得到easy_thumbnails.files  import  get_thumbnailer   得到models  import  GoodsImage   def  test2(请求):=,,goods  GoodsImage.objects.all()中国当代()=,,path  get_thumbnailer (goods.Img)   ,打印(路径)#,注意,这里查到的是url编码的图片地址   ,return  HttpResponse(路径)

第二种方法,直接查找:

goods =, GoodsImage.objects.all()中国当代()   goods.Img  #,原图地址   goods.Img[& # 39;《阿凡达》# 39;],#,缩略图地址   goods.Img[& # 39;《阿凡达》# 39;].url  #,经url编码后的缩略图地址   #,《阿凡达》是你在设置。py中的缩略图尺寸名

以上就是怎么在Django中利用easy_thumbnails实现压缩上传图片,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

怎么在Django中利用easy_thumbnails实现压缩上传图片