easy-thumbnailsアプリを使用して、django アプリにアップロードされた画像の最大サイズを設定する方法はありますか?
設定リストには、それについて何も表示されません。
easy-thumbnailsアプリを使用して、django アプリにアップロードされた画像の最大サイズを設定する方法はありますか?
設定リストには、それについて何も表示されません。
ファイル サイズを制限するには、Django ではなく Web サーバーで行うことをお勧めします。
または、ファイルが大きすぎる場合にエラーを発生させるカスタム ファイル ハンドラを指定することもできます。
from django.core.files.uploadhandler import TemporaryFileUploadHandler, StopUpload
class SizeLimitUploadHandler(TemporaryFileUploadHandler):
def new_file(self, field_name, file_name, content_type, content_length, charset):
if content_length > MAX_FILE_SIZE:
raise StopUpload(True)
ただし、これにより、大きなファイルの処理を停止するために接続リセット エラーが発生します。
画像サイズを制限したい場合は、readme に記載されているように、保存する前に画像のサイズを変更できます。
resize_source
に引数を渡すことThumbnailerImageField
で、保存する前にソース イメージのサイズを変更できます。
class Profile(models.Model):
user = models.ForeignKey('auth.User')
avatar = ThumbnailerImageField(
upload_to='avatars',
resize_source=dict(size=(50, 50), crop='smart'),
)