Django 模型导入数据失败
Data failed to import in Django models
我正在尝试使用 Django 的导入导出上传数据。导出工作正常,但我无法从前端导入,即使导入功能通过默认管理仪表板工作得很好。有人愿意帮忙吗?
views.py:
def data_upload(request):
if request.method == 'POST':
country_resource = CountryResource()
dataset = Dataset()
new_countries = request.FILES['datafile']
imported_data = dataset.load(new_countries.read())
result = country_resource.import_data(dataset, dry_run=True)
if not result.has_errors():
country_resource.import_data(dataset, dry_run=False)
return render(request, 'chainedModels/setup.html')
形式:
{% block content %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="datafile">
<button type="submit">Upload</button>
</form>
{% endblock %}
P.S:我还注意到 "imported_data" 在视图中显示为灰色。当我悬停它时,显示 "local variable 'imported_data' is not used" 的弹出消息
编辑:
对于像我这样以后可能遇到类似问题的新手,我是这样解决的。
我在 forms.py 中创建了一个表单来处理文件上传,然后在我的 views.py 中,我执行了以下操作
def ...(request):
if request.method == 'POST':
dataform = CountryUploadForm(request.POST, request.FILES)
if dataform.is_valid():
country_resource = CountryResource()
dataset = Dataset()
file = dataform.cleaned_data['file']
import_data = dataset.load(file.read())
result = country_resource.import_data(dataset, dry_run=False)
messages.success(request, 'Data upload was successful')
return redirect('...')
else:
messages.error(request, 'Data upload error. Please choose a file')
return redirect('...')
return render(request, '...')
我觉得你打错了?代码错误信息实际上是明确和真实的,你是 而不是 使用 imported_data
。 imported_data
不应该用来初始化你的 Dataset
对象吗?
我正在尝试使用 Django 的导入导出上传数据。导出工作正常,但我无法从前端导入,即使导入功能通过默认管理仪表板工作得很好。有人愿意帮忙吗?
views.py:
def data_upload(request):
if request.method == 'POST':
country_resource = CountryResource()
dataset = Dataset()
new_countries = request.FILES['datafile']
imported_data = dataset.load(new_countries.read())
result = country_resource.import_data(dataset, dry_run=True)
if not result.has_errors():
country_resource.import_data(dataset, dry_run=False)
return render(request, 'chainedModels/setup.html')
形式:
{% block content %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="datafile">
<button type="submit">Upload</button>
</form>
{% endblock %}
P.S:我还注意到 "imported_data" 在视图中显示为灰色。当我悬停它时,显示 "local variable 'imported_data' is not used" 的弹出消息
编辑:
对于像我这样以后可能遇到类似问题的新手,我是这样解决的。
我在 forms.py 中创建了一个表单来处理文件上传,然后在我的 views.py 中,我执行了以下操作
def ...(request):
if request.method == 'POST':
dataform = CountryUploadForm(request.POST, request.FILES)
if dataform.is_valid():
country_resource = CountryResource()
dataset = Dataset()
file = dataform.cleaned_data['file']
import_data = dataset.load(file.read())
result = country_resource.import_data(dataset, dry_run=False)
messages.success(request, 'Data upload was successful')
return redirect('...')
else:
messages.error(request, 'Data upload error. Please choose a file')
return redirect('...')
return render(request, '...')
我觉得你打错了?代码错误信息实际上是明确和真实的,你是 而不是 使用 imported_data
。 imported_data
不应该用来初始化你的 Dataset
对象吗?