Source code for django_tables2.export.views

from __future__ import unicode_literals

from .export import TableExport


[docs]class ExportMixin(object): ''' Support various export formats for the table data. ''' export_trigger_param = '_export' def get_export_filename(self, export_format): return 'table.{}'.format(export_format) def create_export(self, export_format): exporter = TableExport( export_format=export_format, table=self.get_table(**self.get_table_kwargs()) ) return exporter.response(filename=self.get_export_filename(export_format)) def render_to_response(self, context, **kwargs): export_format = self.request.GET.get(self.export_trigger_param, None) if TableExport.is_valid_format(export_format): return self.create_export(export_format) return super(ExportMixin, self).render_to_response(context, **kwargs)