Django-Cumulus を使用して、画像を Rackspace の Cloudfiles プラットフォームに保存しています。
画像を動的に操作し、モデルの新しい ImageField として保存したいと考えています。たとえば、次の ImageFields を持つ Photo モデルがあります: image、thumb_256x256
私のフォームの 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」です