Ich entwickle API mit Django REST Framework. Ich habe ein Django-Modell, das models.ImageField
hat und es funktioniert gut. Aber wenn ich zu Unittest will die Schaffung Modellobjekt, erhalte ich Fehler:Bilddatei kann beim Testen von Django nicht hochgeladen werden
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
Mein Code:
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,
})
ich versucht habe string
mit Pfad zum Bild vorbei, und ich habe versucht, Methoden aus Django testing model with ImageField um Tests zu machen, aber keinen Erfolg.
Welchen Typ sollte ich an das Django REST Framework übergeben, wenn ich image: file object oder string with path hinzufüge?
Wie kann ich meinen Tests echte Dateien hinzufügen?