django reports integrated with highcharts
http://django-model-report.herokuapp.com
-
Add the
model_reportdirectory to your Python path. -
Add
model_reportto yourINSTALLED_APPSsetting. -
Create file "reports.py" within any application directory (just like admin.py).
-
Edit the file "reports.py" and register your reports like this:
from app.models import Browser from model_report.report import reports, ReportAdmin class BrowserReport(ReportAdmin): title = _('Browser with Inline Downloads') model = Browser fields = [ 'name', ] list_order_by = ('name',) type = 'report' reports.register('browser-report', BrowserReport) -
Activate your reports calling the autodiscover in
urls.py(just like admin.py).from model_report import report report.autodiscover() -
Add reports urls
urlpatterns = patterns('', ... (r'', include('model_report.urls')), ... )
Extend your reports from model_report.report import ReportAdmin
class ReportExample(ReportAdmin):
pass
-
Atributes
title:Title of the report.
template_name:Template file name to render the report.
exports:List of allowed export formats.
Example:
exports = ('excel', 'pdf')model:Django model
fields:List of model fields to be listed.
list_filter:List of fields to filter data.
list_order_by:List of fields to order data.
list_group_by:List of fields to group data.
type:"report" for only report.
"chart" for report and show chart graphic results.
group_totals:Dictionary with field name as key and function to calculate their values. This row is displayed after each group as their totals.
Example:
group_totals = { 'men': sum_column, 'women': sum_column }report_totals:Dictionary with field name as key and function to calculate their values. This row is displayed at the end of the report as the totals of all results.
Example:
report_totals = { 'men': avg_column, 'women': avg_column }override_field_values:Dictionary with field name as key and function to parse their original values.
Example:
override_field_values = { 'men': men_format, 'women': women_format }override_field_formats:Dictionary with field name as key and function to parse their value after
override_field_values.Example:
override_field_formats = { 'men': men_format, 'women': women_format }override_field_labels:Dictionary with field name as key and function to parse the column label.
Example:
override_field_labels = { 'men': men_label }list_serie_fields:List of fields to group by results in chart.
chart_types:List of highchart types.
Example:
chart_types = ('pie', 'column')inlines:List of other's Report related to the main report.
Clone the repo and help to be better this app :)