有没有办法使用easy-thumbnails应用程序为我的 django 应用程序中上传的图像设置最大尺寸?
在设置列表中,我没有看到任何关于它的信息。
有没有办法使用easy-thumbnails应用程序为我的 django 应用程序中上传的图像设置最大尺寸?
在设置列表中,我没有看到任何关于它的信息。
要限制文件大小,您可能希望在网络服务器中进行,而不是在 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)
虽然这会导致连接重置错误以停止处理大文件。
如果要限制图像大小,可以按照自述文件中的说明在保存图像之前调整图像大小:
通过将
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'),
)