Django使用Python的内置CSV库创建动态CSV(逗号分隔值)文件。我们可以在项目的视图文件中使用该库。
让我们看一个例子, 这里有一个我们正在实现此功能的Django项目。创建一个视图函数getfile()。
Django CSV范例
在此示例中, 我们使用静态数据创建CSV。
// Views.py
import csvdef 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
【使用Django创建CSV】// urls.py
提供该功能的URL。
path('csv', views.getfile)
在执行到浏览器时, 它将呈现CSV文件。参见示例。
除了静态数据, 我们也可以从数据库中获取CSV。请参见下面的示例, 其中我们使用Employee模型从表中获取数据。
使用数据库的动态CSV // views.py
from myapp.models import Employee import csvdef 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
输出:
保存文件并打开包含以下数据的文本编辑器。
从表employee中检索该数据, 表快照如下所示。
好吧, 我们已经看到该库对于创建动态CSV文件非常有用。现在, 在需要时将其实现到Django项目中。
推荐阅读
- Django CRUD(创建读取更新删除)示例
- Django Cookie使用
- Django应用程序
- 使用Apache Web服务器进行Django配置
- 带有Bootstrap的Django
- Django管理界面
- Writing your first Django app--2017年5月9日
- Python知识点系列详解|Python网站开发必备-django模板自定义标签
- vue|基于Vue+elementUI+django前后端分离员工管理系统