django export csv是一个可重用的django应用程序,它提供用于创建和呈现csv的通用视图类。

django-csv-export的Python项目详细描述


Django导出csv

CI statusCoverage StatusRequirements StatusLicense Status

django-export-csv是一个可重用的django应用程序,它提供了下载csv文件的通用视图。

安装

要开始使用django-export-csv,只需使用

pipinstalldjango-csv-export

用法

'export_csv'添加到项目的已安装应用程序设置中。

INSTALLED_APPS=['django.contrib.admin','django.contrib.auth',......'export_csv',]

在views.py文件中创建子类ExportCSV,并提供模型属性。

fromexport_csv.viewsimportExportCSVfrom.modelsimportAccountclassAccountCSV(ExportCSV):"""View for creating and rendering CSV of all Account model instances."""model=Customer

在urls.py中,添加指向上面声明的视图类AccountCSV的url。

from.viewsimportAccountCSVurlpatterns=[(r'^account_csv/$',AccountCSV.as_view(),name='account-csv'),]

就这样。它将呈现一个csv文件,其中包含Accountmodel的所有实例的所有字段。

自定义exportcsv视图

注意

所有示例都来自示例项目中的模型。

使用自定义查询集

默认情况下,model的所有实例都包含在(queryset和) CSV。

若要提供自定义queryset,请重写get_queryset方法以返回 自定义查询集。

classAccountCSV(ExportCSV):model=Accountdefget_queryset(self):returnAccount.object.filter(is_active=True)

仅包括模型的某些字段

可能只需要model的一些字段。

这可以通过两种方式实现:

  • 提供field_names列表
  • 重写get_field_names方法
classAccountCSV(ExportCSV):model=Accountfield_names=['owner','account_no','balance']
classAccountCSV(ExportCSV):model=Accountdefget_field_names(self):return['owner','account_no','balance']

提供文件名

默认情况下,呈现的csv文件名为<;model>;_list.csv。为了 例如,对于Accountmodel,文件名将是account_list.csv

可以使用两种方法提供自定义文件名。

  • 提供filename属性
  • 重写get_filename方法。
classAccountCSV(ExportCSV):model=Accountfilename='active_account_list.csv'defget_queryset(self):returnAccount.object.filter(is_active=True)
classAccountCSV(ExportCSV):model=Accountdefget_queryset(self):returnAccount.object.filter(is_active=True)defget_filename(self):return'active_account_list.csv'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
CentOS上的java Spring Boot简易应用程序需要很长时间才能启动   java如何检查字符串值是否等于null?   收集器中的java映射值。分组方式()   java需要支持Azure AD B2C webapp集成   java如何加入线程以停止它?   java如何使用意图传递类的对象?   java如何在战争环境中发现CDI生产者?   多模块项目中java奇怪的编译器行为   java如何在web应用程序中管理密码?   java从http服务器、filehandler中删除冗余代码   java使用反射来获取泛型类的字段   java Spring MVC/Hibernate/MySQL 400错误请求错误   给定正整数a的java幂为3   在Java中将元素拆分为不同数量的列表?   java展开折叠窗格