Package: tp-django-tables2-reports
Contentsdjango-tables2-reportsRequirementsInstallationChanges in your projectUsageDevelopmentTest projectReleases0.0.10 (2014-10-13)0.0.9 (2013-11-30)0.0.8 (2013-11-14)0.0.7 (2013-08-29)0.0.6  (2013-08-22)0.0.5  (2013-07-03)0.0.4  (2013-05-17)0.0.3  (2012-07-19)0.0.2  (2012-07-18)0.0.1  (2012-07-17)django-tables2-reportsFork of abondenedhttps://github.com/goinnn/django-tables2-reportsWith django-tables2-reports you can get a report (CSV, XLS) of anytablewithminimal changesto your projectRequirementsdjango(>=1.3)django-tables2(>=0.11.0, tested with 0.14.0)xlwt(>=0.7.5),openpyxl(>=1.6.2) orpyExcelerator(>=0.6.4.1) (These are optionals, to export to xls. Default to xlwt if available)If you use python3, and you want export to xls use this version of thexlwt (fork)(0.8.0) if thispull requestis not merged still , or useopenpyxlInstallationIn your settings:INSTALLED_APPS = (

    'django_tables2_reports',
)


TEMPLATE_CONTEXT_PROCESSORS = (

    'django.core.context_processors.static',

)


# This is optional

EXCEL_SUPPORT = 'xlwt' # or 'openpyxl' or 'pyexcelerator'Changes in your project1.a Now your table should extend of ‘TableReport’############### Before ###################

import django_tables2 as tables


class MyTable(tables.Table):

    ...

############### Now ######################

from django_tables2_reports.tables import TableReport


class MyTable(TableReport):

    ...1.b If you want to exclude some columns from report (e.g. if it is a column of buttons), you should set ‘exclude_from_report’ - the names of columns (as well as property ‘exclude’ intable)class MyTable(TableReport):

    class Meta:
        exclude_from_report = ('column1', ...)
    ...2.a. If you use a traditional views, now you should use other RequestConfig and change a little your view:############### Before ###################

from django_tables2 import RequestConfig


def my_view(request):
    objs = ....
    table = MyTable(objs)
    RequestConfig(request).configure(table)
    return render_to_response('app1/my_view.html',
                              {'table': table},
                              context_instance=RequestContext(request))

############### Now ######################

from django_tables2_reports.config import RequestConfigReport as RequestConfig
from django_tables2_reports.utils import create_report_http_response

def my_view(request):
    objs = ....
    table = MyTable(objs)
    table_to_report = RequestConfig(request).configure(table)
    if table_to_report:
        return create_report_http_response(table_to_report, request)
    return render_to_response('app1/my_view.html',
                              {'table': table},
                              context_instance=RequestContext(request))If you have a lot of tables in your project, you can activate the middleware, and you do not have to change your views, only the RequestConfig import# In your settings

MIDDLEWARE_CLASSES = (

    'django_tables2_reports.middleware.TableReportMiddleware',
)

############### Now (with middleware) ######################

from django_tables2_reports.config import RequestConfigReport as RequestConfig

def my_view(request):
    objs = ....
    table = MyTable(objs)
    RequestConfig(request).configure(table)
    return render_to_response('app1/my_view.html',
                              {'table': table},
                              context_instance=RequestContext(request))2.b. If you use aClass-based views:############### Before ###################

from django_tables2.views import SingleTableView


class PhaseChangeView(SingleTableView):
    table_class = MyTable
    model = MyModel


############### Now ######################

from django_tables2_reports.views import ReportTableView


class PhaseChangeView(ReportTableView):
    table_class = MyTable
    model = MyModelUsageUnder the table appear a CSV icon (and XLS icon if you havexlwt,openpyxlorpyExceleratorin your python path), if you click in this icon, you get a CSV report (or xls report) with every item of the table (without pagination). The ordering works!DevelopmentYou can get the last bleeding edge version of django-tables2-reports by doing a clone
of its git repository:git clone https://github.com/goinnn/django-tables2-reportsTest projectIn the source tree, you will find a directory called ‘test_project’. It contains
a readily setup project that uses django-tables2-reports. You can run it as usual:python manage.py syncdb --noinput
python manage.py runserverReleases0.0.10 (2014-10-13)Fixes for xlsx Content-Type:django-tables2-reports throws 500 Sever Error when report format is not recognized. 404 is more appropriate in this case.django-tables2-reports sets Content-Type to application/vnd.ms-excel for xlsx files which causes warnings in Firefox. application/vnd.openxmlformats-officedocument.spreadsheetml.sheet is the correct Content-Type for xlsxSupport to Django 1.7 (I’m sorry to the delay)Adding new feature: exclude_from_reportAnd a little detailsThanks to:Ramana VaranasiMihasPaulgueltekinDavid Ray0.0.9 (2013-11-30)Compatible with the future version  of Django (>=1.7)Update the testsRefactor the codeFix a bug when the title of the sheet is longer than 31Thanks to:Pavel Zaytsev0.0.8 (2013-11-14)Refactor the csv_to_excel module. In the next release this package will be a pypi egg.Support foropenpyxlIntegration with travis and coverallsFix an error if you use the theme paleblueFix test with python 3Fix some detailsTest projectThanks to:Michał PasternakMark Jones0.0.7 (2013-08-29)Russian translationsThanks to:Armicron0.0.6  (2013-08-22)Python3 supportPolish translationThanks to:Michał Pasternak0.0.5  (2013-07-03)Improvements in the READMEExportable to XLS withxlwtThanks to:Crashy23GamesbookAnd spatially toAustin Phillips0.0.4  (2013-05-17)Escape csv data correctly during outputThe fields with commas now are not split into multiple columnsThanks to:Austin Phillips0.0.3  (2012-07-19)Fix a little error, when a column has line breaks. Now these are changed to espacesDetails0.0.2  (2012-07-18)Add a default view (https://docs.djangoproject.com/en/dev/topics/class-based-views/)Exportable to XLSUpdate the README0.0.1  (2012-07-17)Initial release