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


Release history Release notifications

History Node

0.01.4

This version
History Node

0.01.3

History Node

0.01.2

History Node

0.01.1

History Node

0.01.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
django-spreadsheet-reports-0.01.3.tar.gz (16.4 kB) Copy SHA256 hash SHA256 Source None Dec 5, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page