Как импортировать xls/xlsx в моделях Django?
Я использую Django-Excel, чтобы сделать эту функцию.
Это мой view.py
def import_data(request):
if request.method == "POST":
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
request.FILES['file'].save_book_to_database(
models=['contoh_upload'],
initializers=[None,0],
mapdicts=['id','nama','kelas']
)
message = "your upload has been uploaded "
return render(request, 'kastransaksi/transaksi_formupload.html', {'message': message})
else:
message = "Failed Upluad data"
return render(request, 'kastransaksi/transaksi_formupload.html', {'form': form, 'message': message})
else:
form = UploadFileForm()
return render(request, 'kastransaksi/transaksi_formupload.html', {'form': form})
это мой models.py
class contoh_upload(models.Model):
nama = models.CharField(max_length=10, null=True, blank=True)
kelas = models.CharField(max_length=10, null=True, blank=True)
и это мой template.html
<div class="alert-success">{{ message }}</div>
<form action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
<!-- <input type="file" name="excel_file"> -->
{{ form }}
<input type="submit" name="input_button" value="UPLOAD" class="btn btn-primary">
</form>
но я получаю эту ошибку:
Проследить:
Файл "C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\exception.py" во внутренней 39. response = get_response(запрос)
Файл "C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py" в _legacy_get_response 249. response = self._get_response(запрос)
Файл "C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py" в _get_response 187. response = self.process_exception_by_middleware(e, request)
Файл "C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py" в _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
Файл "C:\Users\Lenovo\OneDrive\siswa\transaksi_kas\views.py" в файле import_data 165. models=[(contoh_upload, ['nama', 'kelas'], None, 0)],
Файл "C:\Python27\lib\site-packages\django_excel__init__. Py" в save_book_to_database 61. pe.save_book_as(**params)
Файл "C:\Python27\lib\site-packages\pyexcel\core.py" в save_book_as 224. return sources.save_book(book, **dest_keywords)
Файл "C:\Python27\lib\site-packages\pyexcel\sources__init__. Py" в save_book 46. return _save_any(источник, книга)
Файл "C:\Python27\lib\site-packages\pyexcel\sources__init__. Py" в _save_any 50. source.write_data(экземпляр)
Файл "C:\Python27\lib\site-packages\pyexcel\sources\database.py" в файле write_data 248. sheet.name_columns_by_row(0)
Файл "C:\Python27\lib\site-packages\pyexcel\sheet \ sheet.py" в name_columns_by_row 140. self.__column_names = make_names_unique(self.row_at(row_index))
Файл "C:\Python27\lib\site-packages\pyexcel\sheet \matrix.py" в row_at 162. поднять IndexError(constants.MESSAGE_INDEX_OUT_OF_RANGE)
Тип исключения: IndexError at /transaksi/import_form/ Значение исключения: индекс выходит за пределы диапазона