Filyushin
@Filyushin
Python, Delphi, Firebird

Как написать тест в Django для работы с загружаемым файлом?

На сайте есть кнопка загрузки файла, который парсится и загружается в базу.
В коде строка:
file = request.FILES['impfile']
file_data = file.readlines()

    for line1 in file_data:
        line = line1.decode('cp1251')

Такой код работает через post-метод при загрузке файла.
Когда пытаюсь написать тест на импорт файла, передаю ссылку на open(file) as f, то получаю ошибку на отсутствие метода decode. Выяснил, что при методе POST файл имеет тип InMemoryUploadedFile.
Пытался преобразовать:
def test_read_one(self):
        with open(self.test_file, 'r+') as file:
            mem_file = InMemoryUploadedFile(file, field_name='kfile', name='201810.txt', content_type='text/plain', charset=None, size=os.path.getsize(self.test_file))
            print(mem_file)
            table = load_file(mem_file)
        self.assertTrue(table[0] == self.one_record)

Не помогло.
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы