Django SimpleUploadedFile не отправляется
Я разрабатываю Django-приложение и написал тест, который проверяет, правильно ли работает метод view. Мне нужно отправить некоторые данные в запросе, включая файл изображения. В моем случае:
def setUp(self):
...
self.image_file = SimpleUploadedFile("test_image.jpg", b"file_content",
content_type='image/jpeg')
...
def test_save_image_instance(self):
...
files = {'image': self.image_file}
response = self.client.post(endpoint, data=data, files=files)
# assertions there
...
Я перепроверил, все правильно, есть SimpleUploadedFile
экземпляр в file
словаре.
Но в представлении request.FILES
пусто (<MultiValueDict: {}>
), хотя data
было отправлено правильно. Также, если я загляну в request.META
, там есть 'files': {'image': <SimpleUploadedFile: test_image.jpg (image/jpeg)>}
, что указывает на то, что файл должен быть там.
В Django CommonMiddleware
установлен правильно, тип содержимого в запросе multipart/form-data
Я пробовал использовать класс UploadFile
вместо SimpleUploadFile
, проверял значения в разных местах программы, чтобы найти проблему, но это не помогло.