我正在使用 django-excel 来执行此功能。
这是我的观点.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>
但我收到此错误:
追溯:
内部 39 中的文件“C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\exception.py”。response = get_response(request)
_legacy_get_response 249 中的文件“C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py”。response = self._get_response(request)
_get_response 187 中的文件“C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py”。response = self.process_exception_by_middleware(e, request)
_get_response 185 中的文件“C:\Python27\lib\site-packages\django-1.10.4-py2.7.egg\django\core\handlers\base.py”。 response = Wrapped_callback(request, *callback_args, ** callback_kwargs)
import_data 165 中的文件“C:\Users\Lenovo\OneDrive\siswa\transaksi_kas\views.py”。models=[(contoh_upload, ['nama', 'kelas'], None, 0)],
save_book_to_database 61 中的文件“C:\Python27\lib\site-packages\django_excel__init__.py”。pe.save_book_as(**params)
save_book_as 224 中的文件“C:\Python27\lib\site-packages\pyexcel\core.py”。return sources.save_book(book, **dest_keywords)
save_book 46 中的文件“C:\Python27\lib\site-packages\pyexcel\sources__init__.py”。 return _save_any(source, book)
_save_any 50.source.write_data(instance) 中的文件“C:\Python27\lib\site-packages\pyexcel\sources__init__.py”
write_data 248 中的文件“C:\Python27\lib\site-packages\pyexcel\sources\database.py”。 sheet.name_columns_by_row(0)
name_columns_by_row 140 中的文件“C:\Python27\lib\site-packages\pyexcel\sheets\sheet.py”。self.__column_names = make_names_unique(self.row_at(row_index))
row_at 162 中的文件“C:\Python27\lib\site-packages\pyexcel\sheets\matrix.py”。引发 IndexError(constants.MESSAGE_INDEX_OUT_OF_RANGE)
异常类型:/transaksi/import_form/ 处的 IndexError 异常值:索引超出范围