Python Django简易缩略图最大尺寸
有没有办法使用app为我的django应用程序中上传的图像设置最大大小Python Django简易缩略图最大尺寸,python,django,django-apps,django-models,Python,Django,Django Apps,Django Models,有没有办法使用app为我的django应用程序中上传的图像设置最大大小 在“设置”列表中,我看不到任何相关信息。要限制文件大小,您可能希望在Web服务器中执行此操作,而不是在Django中 或者,您也可以这样做,如果文件太大,您可以使用该选项引发错误: from django.core.files.uploadhandler import TemporaryFileUploadHandler, StopUpload class SizeLimitUploadHandler(TemporaryF
在“设置”列表中,我看不到任何相关信息。要限制文件大小,您可能希望在Web服务器中执行此操作,而不是在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
,可以在保存源图像之前调整其大小:
对不起,我指的是文件大小,不是分辨率大小。例如,max size=2MB.-1 FILE\u UPLOAD\u max\u MEMORY\u size控制写入磁盘前上载文件的最大大小,而不是上载文件的最大大小。@hekevintran谢谢,我第一次回答这个问题时一定是看错了文档。我更新了我的答案,以提及/显示停止文件上传的其他方式;评论?
class Profile(models.Model):
user = models.ForeignKey('auth.User')
avatar = ThumbnailerImageField(
upload_to='avatars',
resize_source=dict(size=(50, 50), crop='smart'),
)