Я разрабатываю API, используя Django REST Framework. У меня есть модель Django, которая имеет models.ImageField
, и она отлично работает. Но когда я хочу UnitTest создания модели объекта, я получаю сообщение об ошибке:Не удается загрузить файл изображения во время тестирования Django
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
Мой код:
class PlacesTest(APITestCase):
. . .
def test_create_place_full(self):
. . .
image = SimpleUploadedFile(name='test.jpg',
content=open('test.png', 'rb').read(),
content_type='image/jpeg')
request = self.factory.post(reverse('place-list'),
{'name': 'test_place_1',
'picture': image,
})
Я попытался прохождения string
с пути к изображению, и я попытался методы из Django testing model with ImageField делать тесты, но не добиваться успеха.
Какой тип следует передать в инфраструктуру Django REST при добавлении изображения: файловый объект или строку с контуром?
Как добавить файл к моим тестам?