1、安装

要在 Django 使用 ImageField 模块,必须先安装第三方库 Pillow:

pip install pillow
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

图片上传后会根据我们的设定生成相应的处理后的图片。

3、前端显示

要在前端显示处理后的图片只需这样:

src="{{ profile.picture_90x90.url }}

hukang
18 声望6 粉丝

一名热爱技术的上进小青年。