无法在Djang的运行时设置UploadedFile对象大小

2024-10-06 11:26:01 发布

您现在位置:Python中文网/ 问答频道 /正文

UploadedFile的参考文件。 @fixture的引用。 正在尝试更改测试用例中的文件大小

 from django.core.files.uploadedfile import UploadedFile

 class Mixin(object):
    @fixture
    def photo(self):
        file_obj = StringIO()
        image = Image.new("RGBA", size=(50, 50), color=(256, 0, 0))
        image.save(file_obj, "png")
        file_obj.seek(0)
        return UploadedFile(file_obj, name="test.png", content_type="image/jpg", size=2000000)

我试图更改测试用例的文件大小 self.photo.size = 10000001

class Test(Mixin):
    @fixture
    def data(self):
        return {"photo": self.photo}

    def test_invalid_photo_size(self):
        self.photo.size = 10000001
        response = self.client.post(reverse("registration_register"), data=self.data)

但是当我获取表单中照片的值时,我得到的是值,即144。 self.cleaned_data.get('photo').size

它应该在表单中返回10000001作为大小。我不清楚为什么会这样?任何其他的方法,除了从头开始创建一张新照片


Tags: imageselfobjdatasizereturnpngdef