当前位置: 首页 > 面试题库 >

使用ImageField的Django测试模型

司寇祺
2023-03-14
问题内容

我需要测试我的Django应用程序的Photo模型。如何使用测试图像文件模拟ImageField?

tests.py

class PhotoTestCase(TestCase):

    def test_add_photo(self):
        newPhoto = Photo()
        newPhoto.image = # ??????
        newPhoto.save()
        self.assertEqual(Photo.objects.count(), 1)

问题答案:

对于将来的用户,我已经解决了这个问题。您可以ImageField使用SimpleUploadedFile实例来模拟。

test.py

from django.core.files.uploadedfile import SimpleUploadedFile

newPhoto.image = SimpleUploadedFile(name='test_image.jpg', content=open(image_path, 'rb').read(), content_type='image/jpeg')


 类似资料:
  • 问题内容: 我只是开始使用django,而且我还没有找到有关如何显示imageField的很多信息,所以我做到了: models.py views.py image.html 我已经保存了图像,因为终端,我知道在那里,如果在image.html中这样做: 输出是:Car object 谁能告诉我我的错误在哪里? 问题答案: 一个包含一个属性,你可以在你的模板用来呈现适当的HTML。

  • 我用ImageField创建了一个简单的模型,我想用django-rest-framework+django-rest-swagger创建一个api视图,它是文档化的,并且能够上传文件。 以下是我得到的: 我阅读了django-rest-framework中的这部分文档: 我正在使用、和。

  • 问题内容: 我无法将图像保存在此ImageField中。 发送回数据时: 模型 serializers.py view.py url.py 卷曲 问题答案: 您似乎在和处理程序中缺少序列化程序构造函数的参数。

  • 问题内容: 我正在从views.py文件更新模型中的某些字段。使用时,所有其他字段均已正确更新 只是,未更新,奇怪的是,当我从admins.py检查模型时,它显示了我上传的文件名,但是我的文件未显示在我的目录中(我在其中上传了所有图片) views.py 这就是我在settings.py中管理媒体文件的方式 我认为只有文本存储在ImageField中,并且Image不会上移到目录中注:我正在使用从

  • 问题内容: 调整通过Django表单上传的图像文件的大小最直接的方法是ImageField什么? 问题答案: 我为找不到完整的工作示例而烦恼,只能在这里和那里找到一些。我设法自己解决了问题。这是完整的示例,我将其放在表单的clean()方法中(你也可以以完全相同的方式覆盖模型save()方法-更改ImageField的file属性)。

  • 问题内容: 我正在使用 来在我的模型上存储个人资料图片。 如果未定义图像,如何设置它以返回默认图像? 问题答案: 我还没有尝试过,但是我比较确定你可以将其设置为默认值。