Django easy-thumbnails MAX SIZE

时间:2011-07-20 16:10:34

标签: python django django-apps django-models

有没有办法使用easy-thumbnails应用设置为我的django应用上传的图片设置最大尺寸?

在设置列表中,我没有看到任何相关内容。

1 个答案:

答案 0 :(得分:-2)

要限制文件大小,您可能希望在Web服务器中执行此操作,而不是在Django中执行。

或者,你可以specify a custom file handler,如果文件太大,你可以用它来引发错误:

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)

虽然这会导致连接重置错误,以便停止处理大文件。

如果您想限制图片尺寸,可以按照自述文件中的说明调整图像大小:

  

通过将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'),
    )