如何在 django-ckeditor 中设置上传图像的最大图像大小?

Sud*_*ker 9 python django django-models django-views django-ckeditor

我正在为我的项目使用 django-ckeditor 来上传图像和文本内容。
我在模型中使用了 body = RichTextUploadingField(blank=True, null=True)。现在我想限制用户上传内容中的大尺寸图像或大于预定义的最大高度/宽度。我希望上传的图像具有特定的高度/重量和大小,例如小于 1mb。

如何预定义最大图像高度和宽度以及最大图像尺寸限制?

有没有办法从 django-ckeditor 配置中定义它?

或者如何在用户提交表单后从后端的内容调整上传的图像的大小?

这是我的models.py:

class Post(models.Model):
    STATUS_CHOICES = {
      ('draft', 'Draft'),
      ('published', 'Published'),
    }
    title = models.CharField(max_length=250)
    slug = models.SlugField(max_length=250, unique=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    body = RichTextUploadingField(blank=True, null=True)
    status = models.CharField(max_length=10,
                             choices=STATUS_CHOICES,
                             default='draft')
Run Code Online (Sandbox Code Playgroud)

我尝试了很多来解决它但失败了。任何解决问题的建议?提前致谢。

Ank*_*ari 0

您可以设置CKEDITOR_THUMBNAIL_SIZEsetting.py

CKEDITOR_THUMBNAIL_SIZE = (500, 500)
Run Code Online (Sandbox Code Playgroud)

在后端,您可以通过设置(以前称为 THUMBNAIL_SIZE)pillow更改缩略图大小。CKEDITOR_THUMBNAIL_SIZE默认值:(75, 75)

通过pillow后端,您可以将上传的图像转换并压缩为jpeg,以节省磁盘空间。将CKEDITOR_FORCE_JPEG_COMPRESSION设置设置为True(默认False)您可以更改CKEDITOR_IMAGE_QUALITY设置(以前的IMAGE_QUALITY),该设置将传递到Pillow

图像质量,范围从 1(最差)到 95(最好)。默认值为 75。应避免高于 95 的值;100 会禁用部分 JPEG 压缩算法,并导致生成大文件,而图像质量几乎没有任何提高。

对于动画图像,此功能被禁用。

检查官方文档。https://github.com/django-ckeditor/django-ckeditor/blob/master/README.rst