【问题标题】:How to import data from csv to models using django-import-export?如何使用 django-import-export 将数据从 csv 导入模型?
【发布时间】:2017-03-31 03:39:00
【问题描述】:

我对 django-import-export 进行了一些研究,但我发现的大多数示例都是使用 django admin.. 我正在尝试从我的模板将数据导入 django 模型(当单击按钮时,出现一个模式以选择文件位置然后提交),

我感到迷茫,我不知道如何开始..

这是我的模型:

class Musician(models.Model):
    first_name = models.CharField(max_length=50)
    last_name = models.CharField(max_length=50)
    instrument = models.CharField(max_length=100) 

有人可以通过给出步骤来指导我吗?

提前致谢!

【问题讨论】:

    标签: python django django-import-export


    【解决方案1】:

    我没有使用过 django-import-export,但是使用 python 的内置 csv 模块为 CSV 生成编写视图并不困难。

    Django 文档也有一个关于outputting csv 的部分。

    以下是基于文档中提供的示例的 sn-p:

    import csv
    from django.http import HttpResponse
    from django.views.generic import View
    
    class CsvExportView(View):
    
        def get(self, request):
            # create a response object
            response = HttpResponse(content_type='text/csv')
            # assign a filename for csv
            response['Content-Disposition'] = 'attachment; filename="{}"'.format("filename.csv")
            wr = csv.writer(response, dialect='excel')
            # get queryset
            queryset = Musician.objects.all()
            # write every queryset to response object
            for obj in queryset:
                row = [obj.first_name, obj.last_name, obj.instrument]
                wr.writerow(row)
            # return response object
            return response
    

    【讨论】:

      猜你喜欢
      • 2021-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 1970-01-01
      相关资源
      最近更新 更多