为具有查询集的视图提供CSV/Excel导出的mixin。
项目描述
django-spreadsheetresponsemixin
django视图mixin,用于生成CSV或Excel表格。
[](https://travis-ci.org/aptivate/django-spreadsheetresponsemixin)
安装
pip install django-spreadsheetresponsemixin
使用
将其添加到您的django视图中作为mixin
class ExcelExportView(SpreadsheetResponseMixin, ListView): def get(self, request): self.queryset = self.get_queryset() return self.render_excel_response() class CsvExportView(SpreadsheetResponseMixin, ListView): def get(self, request): self.queryset = self.get_queryset() return self.render_csv_response()
请注意,您必须在类中指定查询集、ValuesQueryset或ValuesListQueryset,或者当调用render方法时传递它。
如果您想细化结果或为列提供自定义标题,也可以指定字段和标题作为元组。
默认情况下,导出的文件将命名为export.csv或export.xlsx,但您可以通过指定export_filename属性来命名导出文件,或通过export_filename_root来指定其根部分(并让应用程序处理适当的扩展名)。
变更日志
0.1.10及之前版本不可用 - 抱歉 :s