中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Django中利用easy_thumbnails實現壓縮上傳圖片

發布時間:2021-03-24 16:06:20 來源:億速云 閱讀:250 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關怎么在Django中利用easy_thumbnails實現壓縮上傳圖片,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在Django中壓縮

setting.py

首先,setting中添加

THUMBNAIL_ALIASES = {
 '': {
  'avatar': {'size': (200, 200), 'crop': True},
 },
}

size控制要壓縮后的圖片大小

創建模型

eg:

models.py

from easy_thumbnails.fields import ThumbnailerImageField

class GoodsImage(models.Model):
 Img = ThumbnailerImageField(upload_to='images/',blank=True)

ThumbnailerImageField在數據庫中做的事相當于models.ImageField,不同的是他會告訴esay_thumbnails這是一個要被壓縮的圖片域。(個人推測)

獲取縮略圖路徑

兩種,一是在模板中,二在視圖中

模板:

views.py

from models import GoodsImage
def test(request):
 goods = GoodsMessage.objects.all().first() # 查到一個圖片
 return render(request,'templates.html',{'img':goods}) # 使用模板

templates.html

{% load thumbnail %} {# 裝載easy_thumbnail #}
<img src="/media/{{ img.Img }}"> {# 原圖 #}
<img src="/media/{{ img.Img.avatar.url }}"> {# 壓縮圖 #}

視圖

views.py

from easy_thumbnails.files import get_thumbnailer
from models import GoodsImage
def test2(request):
 goods = GoodsImage.objects.all().first()
 path = get_thumbnailer(goods.Img)
 print(path) # 注意,這里查到的是url編碼的圖片地址
 return HttpResponse(path)

第二種方法,直接查找:

goods = GoodsImage.objects.all().first()
goods.Img # 原圖地址
goods.Img['avatar'] # 縮略圖地址
goods.Img['avatar'].url # 經url編碼后的縮略圖地址
# avatar是你在setting.py中的縮略圖尺寸名

以上就是怎么在Django中利用easy_thumbnails實現壓縮上傳圖片,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙湾县| 绥棱县| 孟州市| 稷山县| 韶山市| 昌宁县| 和静县| 阿拉善盟| 云和县| 奉新县| 拉孜县| 新竹市| 中阳县| 民乐县| 尼木县| 亳州市| 淮南市| 新宾| 安吉县| 台中市| 南城县| 谢通门县| 南昌市| 巴塘县| 闻喜县| 郎溪县| 湛江市| 张掖市| 通化县| 五河县| 营口市| 临湘市| 北海市| 林州市| 商城县| 兴安县| 桂阳县| 鄄城县| 建宁县| 东乌| 石阡县|