我想知道如何在Django中最好地实现可裁剪的ImageField。
基本上我想上传图片并裁剪它们。例如,使用imagAreaSelect
我想到的第一种方法是在我的模型上创建一个ImageField和一些元字段来存储我选择的裁剪比例,宽度和高度。 但我想知道是否有更清洁的方法来解决这个问题,并进一步囊括裁剪行为。
所以最终我想在小部件中包含所需的行为。 虽然我看到的问题是小部件通常映射到单个数据库字段。
所以我想知道这是否可行,以及如何最好地保留我的图像数据?
答案 0 :(得分:3)
我们最终创建了一个用于裁剪图片的可重复使用的应用:django-image-cropping
答案 1 :(得分:1)
有几种方法可以做到这一点。一种方法是从未剪切图像的名称推断出裁剪图像的名称。因此,如果您有一个ImageField,并且有一个名为uploads / images / family.jpg的图像,您的CropableImageWidget可能会假设裁剪后的图像存储在uploads / images / cropped / family.jpg中。
另一种方法是创建自己的数据库字段类型,以存储您在裁剪时创建的所有文件的序列化表示。可能是通过JSON。