モデルで保存方法をオーバーライドするときに、適切な形式で画像を保存する際に問題があります。
私のコード:
class Whatever(models.Model):
image = models.ImageField(upload_to="whatever")
def save(self, *args, *kwargs):
# Here I save file to the disk
super(Whatever, self).save(*args, **kwargs)
# Then i get this file
filename = MEDIA_ROOT + '/' + self.image.name
# And do something with it
img = cut_circle(filename, (42, 42), 42)
# Now save it
img.save(filename+)
そして、ここに問題があります。結果の画像に透明性が必要ですが、ユーザーはサーバーに不適切な形式、たとえば jpeg をアップロードできます。
では、ベースでファイル形式を変更するにはどうすればよいですか? self.image.save を試してみましたが、この方法は難しいと思います。