我正在使用 django 图像并创建自定义处理器。我想找出以 KB(或字节)为单位的大小,但无法这样做。size 属性给出了文件的尺寸,而不是文件的大小。我是一个新手,所以只能找到 PIL 的 attr 来获取有关图像的更多信息,但它们实际上都没有给出以字节为单位的文件大小。
我已经为 ModelForm 创建了这个处理器。
你能帮忙吗?
我正在添加到目前为止编写的代码。它更像是一个测试代码;
import urllib
import os
class CustomCompress(object):
def process(self, image):
print 'image.width',image.width
print 'image.height',image.height
print 'image.size', image.size
print 'image.info', image.info
print 'image.tobytes', image.tobytes
print 'image.category', image.category
print 'image.readonly', image.readonly
print 'image.getpalette', image.getpalette
st = os.stat(image).st_size
print 'get_size ', st
return image
这是forms.py
class PhotoForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PhotoForm, self).__init__(*args, **kwargs)
self.fields['old_image'] = ProcessedImageField(spec_id='myapp:test_app:old_image',
processors=[CustomCompress()],
format='JPEG',
# options={'quality': 60}
)
class Meta:
model = Photo
fields = ['old_image']