python - django-import-export 外部管理员

标签 python django django-import-export

我正在尝试使用 django-import-export 实现一个简单的 xls 文件导入并保存到模型。 不幸的是,文档仅涵盖管理集成。 我被困在我的示例代码中:

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)

了解这个模块的人可以帮我完成这个通用示例的代码吗?

或者是否有一个在网上某处剪下的通用示例,但我没有使用谷歌找到?

编辑:

根据 Alex 的回答,我找到了一个可行的解决方案:

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)

最佳答案

您应该使用 Format.create_dataset() 方法:

from import_export.formats.base_formats import XLS

def your_view():
    filehandle = form.cleaned_data['file']
    data = bytes()
        for chunk in import_file.chunks():
            data += chunk
    dataset = XLS().create_dataset(data)
    result = ExportSpec().import_data(...)

关于python - django-import-export 外部管理员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739370/

相关文章:

python - 如何在多处理函数中使用 wxPython 启用/禁用按钮?

jquery - 给定一个通常手工填写的表格,我如何以编程方式打印出该表格上的信息?

python - django导入导出应用程序错误: django. core.exceptions.AppRegistryNotReady:模型尚未加载

Django import export 出现错误 "Tablib has no format ' None' 或未注册”

python - mock "sleep"

python 列表值中的数字格式

python - 如何在 matplotlib 中连接/对齐轴以获得完美的角?

html - Django 开发服务器不提供 bootstrap 3 glyphicons

python - django- concatenate(year,month)_range=[start_date,end_date] 错误

django - 如果 Django ImportExportModelAdmin 中不存在则创建对象