Django 使用 Python 的内置 CSV 库来创建动态 CSV(逗号分隔值)文件。我们可以在项目的视图文件中使用这个库。

让我们看一个例子,这里我们有一个 Django 项目,我们正在其中实现此功能。创建了一个视图函数getfile() 。

Django CSV 示例

在此示例中,我们使用静态数据创建 CSV。

// 视图.py

import csv  
  
def getfile(request):  
    response = HttpResponse(content_type='text/csv')  
    response['Content-Disposition'] = 'attachment; filename="file.csv"'  
    writer = csv.writer(response)  
    writer.writerow(['1001', 'John', 'Domil', 'CA'])  
    writer.writerow(['1002', 'Amit', 'Mukharji', 'LA', '"Testing"'])  
    return response  

// url.py

提供该函数的 url。

path('csv',views.getfile)  

在浏览器上执行时,它会呈现一个 CSV 文件。请参阅示例。

1.png

除了静态数据之外,我们还可以从数据库中获取CSV。请参阅以下示例,其中我们使用Employee模型从表中获取数据。

使用数据库的动态 CSV

// 视图.py

from myapp.models import Employee import csv  
def getfile(request):  
    response = HttpResponse(content_type='text/csv')  
    response['Content-Disposition'] = 'attachment; filename="file.csv"'  
    employees = Employee.objects.all()  
    writer = csv.writer(response)  
    for employee in employees:  
        writer.writerow([employee.eid,employee.ename,employee.econtact])  
    return response  

输出:

2.png

保存文件并在包含以下数据的文本编辑器中打开。

3.png

该数据是从表 employee 中检索的,该表的快照如下所示。

4.png

好吧,我们已经看到这个库对于创建动态 CSV 文件非常有用。现在,在需要时将其实现到 Django 项目中。

标签: django语言, django教程, django技术, django学习, django学习教程, django下载, django开发, django入门教程, django进阶教程, django高级教程, django面试题, django笔试题, django编程思想