class BorrowersTablesView(MultiTableMixin, TemplateView): template_name = 'intranet/multiTable.html' qs = Borrowers.objects.all() tables = [ BorrowersTable(qs, 'debarred', 'debarrednote'), BorrowersTable(qs, exclude=('debarrednote', 'lost', 'gonenoaddress')) ] table_pagination = {'per_page': 2}
def borrowers_listing(request): config = RequestConfig(request) table1 = BorrowersTable(Borrowers.objects.all(), prefix='1-') table2 = BorrowersTable(Borrowers.objects.all(), prefix='2-') config.configure(table1) config.configure(table2) return render(request, 'intranet/borrowers-listing.html', { 'table1': table1, 'table2': table2 })
def borrowers_table_export_view(request): table = BorrowersTable(Borrowers.objects.all()) table.export_formats = {'csv','json','latex', 'ods', 'tsv', 'xls', 'xlsx', 'yml'} RequestConfig(request).configure(table) export_format = request.GET.get('_export', None) if TableExport.is_valid_format(export_format): exporter = TableExport(export_format, table, exclude_columns=('selection','patron','photo')) return exporter.response('borrowerstable.{}'.format(export_format)) return render(request, 'intranet/borrowers_export.html', { 'table': table })
def borrowers(request): table = BorrowersTable( data=Borrowers.objects.all(), template_name='django_tables2/bootstrap-responsive.html') #table.paginate(page=request.GET.get('page',1),per_page=1) #the above is when not using RequestConfig RequestConfig(request, paginate={'per_page': 1}).configure(table) return render(request, 'intranet/borrowers.html', {'table': table})