Skip to main content

Automates the tasks of producing simple reports from Django models.

Project description

I was heavily inspired by http://code.google.com/p/django-reporting/. After playing
with django-reporting, I was wishing parts of it were implemented differently. And so,
django-spreadsheet-reports was born.

Although this project has been in development for a few years, it's documentation is very light.

A few features provided by this are:

* Ability to produce spreadsheet reports off of a user model by creating a reports.py in your app
directories. The contents of the reports.py should look like:

class UserStatsReport(django_spreadsheet_reports.Report):
name = 'Simple User Report'
slug = 'simple-user-report'
model = UserStats

filter_by = django_spreadsheet_reports.filters(
django_spreadsheet_reports.DateFilter('user__date_joined'),
django_spreadsheet_reports.Filter('user__date_joined', name='Days', multiple=True),
)

group_by = django_spreadsheet_reports.groupbys(
'user__date_joined',
django_spreadsheet_reports.GroupBy('campaign__user__username', name='Affiliate'),
django_spreadsheet_reports.GroupBy('program__name', name='Program'),
django_spreadsheet_reports.GroupBy('referring_url', name='Referring URL'),
django_spreadsheet_reports.GroupBy('track__track', name='Track'),
django_spreadsheet_reports.GroupBy('tour__name', name='Tour',
additional_columns=[
django_spreadsheet_reports.Column('tour__url', name='Tour URL'),
django_spreadsheet_reports.Column('tour__program__name', name='Program'),
]),
)

list_aggregates = django_spreadsheet_reports.columns(
django_spreadsheet_reports.Column(Count('id'), name='Members'),

* Exporting to CSV is built in
* Sortable columns

Requirements: Python>=3.4, Django>=1.5

Installation
=============
* pip install django-spreadsheet-reports
* Add `django_spreadsheet_reports` to your installed apps
* Add to your urls file: url(r'^reports/', include(django_spreadsheet_reports.site.urls)),
* Create a reports.py in one of your app directories, and add a Report subclass in it.
* Register your report subclass, by adding a line like this to the bottom of your reports
file: django_spreadsheet_reports.site.register(UserStatsReport)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-spreadsheet-reports-0.01.4.tar.gz (16.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page