我正在使用 Django-Cumulus 将图像存储到 Rackspace 的 Cloudfiles 平台。
我想动态地操作我的图像并将它们保存为我的模型的新 ImageField。例如,我有一个带有以下 ImageField 的 Photo 模型:image、thumb_256x256
在我的 Form 的 save() 方法中,我让用户指定裁剪位置(使用 JCrop)。
无论如何,我知道如何获取用户上传的现有图像文件。我也知道如何使用 PIL 进行操作。我遇到的问题是创建一个新的 Rackspace 文件并写入它。
我不断收到异常“NoSuchObject”。
这是一些示例代码:
def save(self, commit=True):
""" Override the Save method to create a thumbnail of the image. """
m = super(PhotoUpdateForm, self).save(commit=False)
image = Image.open(m.image.file)
image.thumbnail((256,256), Image.ANTIALIAS)
thumb_io = CloudFilesStorageFile(storage=CLOUDFILES_STORAGE, name='foo/bar/test.jpg')
image.save(thumb_io.file, format='JPEG')
此外,一旦我到达这一点 - 将此图像设置为模型的其他 ImageField 的最佳方法是什么?(在我的情况下为 m.thumb_256x256)
提前致谢!
更新:我正在使用的实际 Cloudfiles Django 应用程序的名称是“ django-cumulus ”