私は現在、ファイルフィールドが含まれているモデルの保存メソッドをフックして画像アップロードのサムネイルを生成していますが、さまざまな理由から、これは非常に残念です。ただし、カスタムアップロードハンドラを使用した以前の実験とは異なり、機能します...
これは、サムネイルを作成および更新するための適切な分岐点として私を驚かせますが、アップロードされたファイルが最終的にどこに保存されるかを見つけようとして行き詰まりました(そのため、サムネイルをそれに基づいたパスに保存できます)。一時フォルダのパスを簡単に取得できますが、それは無駄です。アップロードが最終的にどのフォルダにアップロードされるかを知る必要があります。これはここから可能ですか?
class Thumbnailer(TemporaryFileUploadHandler):
def file_complete(self, file_size):
self.file.seek(0)
if not self.content_type is None and 'image' in self.content_type:
newfile = StringIO()
img = Image.open( self.file )
thumb_size = 400,300
img.thumbnail( thumb_size, Image.ANTIALIAS )
img.save( os.path.join("THIS PATH IS WHAT I NEED", "thumbs", self.file_name, 'JPEG', quality=80 )
return super(Thumbnailer, self).file_complete(file_size)
ps:サムネイル用のプラグインとミックスインを推奨して答えないでください-少なくともこのプロジェクトでは、これらすべてを知っており、無視しています。