Я пытаюсь загрузить файл * .xslx из приложения django в модель. Все работало отлично, пока я не развернул приложение на виртуальной машине Linux (Ubuntu 16.04).
Возникает следующая ошибка: объект JSON должен быть str, а не «байтами»
Это код из моего views.py:
if request.method == "POST":
try:
form = UploadFileForm(request.POST, request.FILES["excel_file"])
file = request.FILES['excel_file']
Import_Resource = resources.modelresource_factory(model=item)()
dataset = tablib.Dataset()
if not file.name.endswith('.xlsx'):
messages.error(request, 'This is not a excel file!')
imported_data = dataset.load(file.read())
Я попытался декодировать объект набора данных (как utf-8), но затем я получаю сообщение об ошибке, что он не может декодировать символ определенной позиции - думаю, это из-за некоторых специальных символов латинского алфавита, которые находятся в содержимом файлаЯ пытаюсь импортировать. Если я использую латиницу-1, то она возвращает следующую ошибку: class 'KeyError'> 'p'
.
Это проверенный код, который генерирует вышеуказанную ошибку:
def upload(request):
if request.method == "POST":
try:
form = UploadFileForm(request.POST, request.FILES["excel_file"])
file = request.FILES['excel_file']
Import_Resource = resources.modelresource_factory(model=item)()
dataset = tablib.Dataset()
if not file.name.endswith('.xlsx'):
messages.error(request, 'This is not a excel file!')
imported_data = dataset.load(file.read().decode('latin-1'))
DoУ вас, ребята, есть идеи, как решить эту проблему?