Django-imagekit

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 }}

推荐阅读更多精彩内容