3

我想知道如何在 Django 中最好地实现一个可裁剪的 ImageField。

基本上我想上传图像并裁剪它们。例如使用imagAreaSelect

我想到的第一个方法是在我的模型上创建一个 ImageField 和一些元字段来存储我选择的裁剪比例、宽度和高度。但我想知道是否有更清洁的方法来解决这个问题并进一步封装裁剪行为。

所以最终我想将所需的行为包装在一个小部件中。虽然我看到的问题是小部件通常映射到单个数据库字段。

所以我想知道这是否可行以及如何最好地保留我的图像数据?

4

2 回答 2

3

我们最终创建了一个用于裁剪图像的可重用应用程序:django-image-cropping

于 2012-09-03T09:00:27.357 回答
1

有几种方法可以做到这一点。一种方法是从未裁剪图像的名称中推断出裁剪图像的名称。因此,如果您有一个 ImageField,并且有一个名为 uploads/images/family.jpg 的图像,您的 CropableImageWidget 可能会假定裁剪后的图像存储在 uploads/images/cropped/family.jpg 中。

另一种方法是创建自己的数据库字段类型,用于存储您在裁剪时创建的所有文件的序列化表示。可能是通过 JSON。

于 2011-07-04T16:31:30.143 回答