1. 安装
要在 Django 使用 ImageField 模块,必须先安装第三方库 Pillow:
pip install pillow
然后安装 django-imagekit
pip install django-imagekit
完成上述步骤后,在 Django 项目的 settings.py
文件中的 INSTALLED_APPS
添加上: 'imagekit'
。
现在准备工作全部完成,可以在项目中使用 django-imagekit 来处理图片了。
2. 简单例子
我们在 modles 中这样使用 django-imagekit:
-
from django.db import models
-
from imagekit.models import ImageSpecField
-
from imagekit.processors import ResizeToFill
-
# 用来保存上传图片相关信息的模型
-
class Profile(models.Model):
-
name = models.CharField(max_length = 50)
-
# 原图
-
picture = models.ImageField(upload_to = 'test_pictures')
-
# 注意:ImageSpecField不会生成数据库中的表
-
# 处理后的图片
-
picture_90x90 = ImageSpecField(
-
source="picture",
-
processors=[ResizeToFill(90, 90)], # 处理后的图像大小
-
format='JPEG', # 处理后的图片格式
-
options={'quality': 95} # 处理后的图片质量
-
)
-
def __str__(self):
-
return self.name
图片上传后会根据我们的设定生成相应的处理后的图片。
要在前端显示处理后的图片只需这样:
src="{{ profile.picture_90x90.url }}