如何使用Django ImageKit将缩略图存储在同一个文件夹中?

vbopmzt1  于 2023-10-21  发布在  Go
关注(0)|答案(2)|浏览(123)

有人有使用ImageKit管理缩略图的经验吗?
我目前在我的models.py中有以下内容:

class Item(models.Model):
    id = models.AutoField(primary_key=True)
    owner = models.ForeignKey(
        get_user_model(),
        on_delete=models.SET_NULL,
        null=True,
        blank=True
    )
    image = ProcessedImageField(
        upload_to=image_upload,
        blank=True,
        validators=[validate_image],
        format='JPEG',
        help_text="Max file size is 3 MB."
    )
    image_thumbnail = ImageSpecField(
        source='image',
        processors=[ResizeToFill(50, 50)],
        format='JPEG',
        options={'quality': 60}
    )

我想重命名缩略图并将其存储在一个特定的文件夹中(而不是ImageKit默认的 CACHE/images/ 文件夹),但不知道如何做到这一点(向缩略图添加“upload_to”会给我一个错误)。所有的帮助非常感谢!谢谢你,谢谢!

kqhtkvqz

kqhtkvqz1#

根据文档:
另一方面,ImageSpecFields是虚拟的-它们不向数据库添加字段,也不需要数据库。由于很多原因,这很方便,但这意味着需要根据源映像和规范以编程方式构造映像文件的路径。
如果您不希望文件存储在缓存文件夹中,则可能只想坚持使用ProcessedImageField。

ecbunoof

ecbunoof2#

在设置文件中,如果设置:

IMAGEKIT_CACHEFILE_DIR = ""

则图像将被保存在原始图像所在的同一文件夹的子文件夹中。而不是将其存储在/CACHE/images/文件夹中。

相关问题