我想實現一個簡單的xls文件導入並使用django-import-export保存到模型。 不幸的是,文檔只涵蓋管理集成。 我在這裏停留在我的示例代碼:django-import-export outside admin
class UploadFileForm(forms.Form):
file = forms.FileField()
class ExportSpec(resources.ModelResource):
class Meta:
model = Specialty
view:
def ca_import(request):
if request.method == 'POST' and 'import_test' in request.POST:
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
filehandle = request.FILES['file']
dataset = ???
result = ExportSpec().import_data(dataset, dry_run=False,
raise_errors=True,
user=request.user)
有人用這個模塊的瞭解可以幫助我完成代碼把這個通用的例子嗎?
或者是有一個通用的例子,在網上找到我沒有發現使用谷歌?
編輯:
基於亞歷克斯回答我能找到一個有效的解決方案:
def ca_import(request):
if request.method == 'POST' and 'import_test' in request.POST:
form = 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 = ExportSpec().import_data(dataset, dry_run=False, raise_errors=True, user=request.user)
代碼看起來不錯,到目前爲止。你遇到什麼樣的錯誤,或者你面臨什麼具體問題? –
請參閱行「dataset = ???」。我相信我必須從文件句柄中獲取數據集。 – caliph