Python django从views.py导入数据
我正在使用django导入导出库来导入和导出xls格式,所有工作可能都在AdminModel中进行,现在我正在尝试使用views.py和templates进行导入,但由于某些原因,我无法使用 views.pyPython django从views.py导入数据,python,django,django-import-export,Python,Django,Django Import Export,我正在使用django导入导出库来导入和导出xls格式,所有工作可能都在AdminModel中进行,现在我正在尝试使用views.py和templates进行导入,但由于某些原因,我无法使用 views.py def simple_upload(request): if request.method == 'POST': person_resource = resources.SimsResource() dataset = Dataset() new_persons =
def simple_upload(request):
if request.method == 'POST':
person_resource = resources.SimsResource()
dataset = Dataset()
new_persons = request.FILES['myfile']
imported_data = dataset.load(new_persons.read())
result = person_resource.import_data(dataset, dry_run=True) # Test the data import
if not result.has_errors():
person_resource.import_data(dataset, dry_run=False) # Actually import now
return render(request, 'import_sims.html', {'errors': result.has_errors(), 'result': result})
return render(request, 'import_sims.html')
资源.py
class SimsResource(resources.ModelResource):
class Meta:
model = models.Sim
fields = ['s_serial_number', 's_number', 's_provider', 'status']
forms.py
class UploadFileForm(forms.Form):
file = forms.FileField()
url.py
url(r'^importing_sims/$', views.simple_upload, name='Import'),
模板
{% if errors %}
errors:
{{ errors }}
<br><br><br>
resluts :
{{ result }}
{% endif %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="myfile">
<button type="submit">Upload</button>
</form>
在管理导入中未显示
以下是最新消息:
def simple_upload(request):
if request.method == 'POST':
form = forms.UploadFileForm(request.POST, request.FILES)
if form.is_valid():
file = form.cleaned_data['file']
data = bytes()
for chunk in file.chunks():
data += chunk
dataset = XLS().create_dataset(data)
result = resources.SimsResource().import_data(dataset, dry_run=False, raise_errors=True, user=request.user)
return render(request, 'import_sims.html', {'errors': result.has_errors(), 'result': result})
return render(request, 'import_sims.html')
KeyError at /importing_sims/
'id'
def simple_upload(request):
if request.method == 'POST':
form = forms.UploadFileForm(request.POST, request.FILES)
if form.is_valid():
file = form.cleaned_data['file']
data = bytes()
for chunk in file.chunks():
data += chunk
dataset = XLS().create_dataset(data)
result = resources.SimsResource().import_data(dataset, dry_run=False, raise_errors=True, user=request.user)
return render(request, 'import_sims.html', {'errors': result.has_errors(), 'result': result})
return render(request, 'import_sims.html')