だから私はImageFieldに画像をアップロードするために使用されるDjangoのフォームを持っています。これはうまく機能します。次に、request.FILES ['image']をMakeThumbnailという関数に渡して、さらに処理します。
MakeThumbnailはあまりうまく機能していません。私はこれを一連のStackOverflowスレッドから組み立てましたが、いくつかの重要な概念が欠けていると思います。これが私のコードです。
def MakeThumbnail(file):
img = Image.open(file)
thumbnail = img.thumbnail((128, 128), Image.ANTIALIAS)
thumbnailString = StringIO.StringIO(thumbnail)
newFile = ContentFile(thumbnailString)
return newFile
スタックトレースは、この行で失敗していることを示しています:newFile = ContentFile(thumbnailString)。次のエラーが発生します:予期された読み取りバッファー、インスタンスが見つかりました
ローカル変数を確認した後、thumbnail = img.thumbnail((128、128)、Image.ANTIALIAS)でフェイルバックしている可能性があると思います。
thumbnailString : <StringIO.StringIO instance at 0x0000000003B39748>
file : <InMemoryUploadedFile: Desert.jpg (image/jpeg)>
thumbnail : None
img : <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=128x96 at 0x3B25C08>
サムネイルがなしであることに注意してください。何かが含まれている必要があります。誰かが私にいくつかのヒントを持っていますか?
ありがとう!