Django easy-thumbnails МАКС. РАЗМЕР - PullRequest
1 голос
/ 20 июля 2011

есть ли способ установить максимальный размер для изображений, загружаемых в мое приложение django, используя easy-thumbnails app?

В списке настроек я ничего не вижу об этом.

1 Ответ

0 голосов
/ 20 июля 2011

Чтобы ограничить размер файла, вы можете сделать это на веб-сервере, а не в Django.

В качестве альтернативы, вы можете указать пользовательский обработчик файлов , с помощью которого вы можете вызватьошибка, если файл слишком велик:

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)

Хотя это приведет к ошибке сброса соединения для остановки обработки большого файла.

Если вы хотите ограничить размер image , вы можете изменить размер изображения до его сохранения, как указано в файле 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'),
    )
...