1. 安裝
要在 Django 使用 ImageField 模塊,必須先安裝第三方庫 Pillow:
pip install pillow
然后安裝 django-imagekit
pip install django-imagekit
完成上述步驟后旬盯,在 Django 項(xiàng)目的 settings.py
文件中的 INSTALLED_APPS
添加上: 'imagekit'
。
現(xiàn)在準(zhǔn)備工作全部完成狭归,可以在項(xiàng)目中使用 django-imagekit 來處理圖片了。
2. 簡單例子
承接上一篇的例子,我們在 modles 中這樣使用 django-imagekit:
from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
# 用來保存上傳圖片相關(guān)信息的模型
class Profile(models.Model):
name = models.CharField(max_length = 50)
# 原圖
picture = models.ImageField(upload_to = 'test_pictures')
# 注意:ImageSpecField不會生成數(shù)據(jù)庫中的表
# 處理后的圖片
picture_90x90 = ImageSpecField(
source="picture",
processors=[ResizeToFill(90, 90)], # 處理后的圖像大小
format='JPEG', # 處理后的圖片格式
options={'quality': 95} # 處理后的圖片質(zhì)量
)
def __str__(self):
return self.name
圖片上傳后會根據(jù)我們的設(shè)定生成相應(yīng)的處理后的圖片棵癣。
要在前端顯示處理后的圖片只需這樣:
src="{{ profile.picture_90x90.url }}