How to install django-autoreports
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install django-autoreports
Lastest release
Contents
Autoreports
Autoreports is a Django application that lets you create reports in very Django Admin listing
Installation
In your settings.py
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', #.....................# 'autoreports', )
In your urls.py
urlpatterns = patterns('', #...# (r'^autoreports/', include('autoreports.urls')), #...# )
Media files
Link the media files in your project media directory
cd {{ MEDIA_ROOT }} ln -s {{ AUTOREPORTS_FORM_PATH }}media/ autoreports
In the admin site (from Advanced usage)
Redefine 'admin/change_list.html' templates as follows
{% load adminmedia admin_list i18n autoreports_tags %} {# add auto_reports_tags #} #...# {% block object-tools %} {% if has_add_permission %} <ul class="object-tools"> <li> <a href="add/{% if is_popup %}?_popup=1{% endif %}" class="addlink"> {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %} </a> </li> {% autoreports_admin %} {# add this stuff #} </ul> {% endif %} {% endblock %} #...#
By default it will takes 'list_display' fields to export in CSV. You can redefine it in every model admin you want:
from autoreports.admin import ReportAdmin #...# class FooModelAdmin(ReportAdmin, admin.ModelAdmin): pass
Basic usage
You have to api, and you can export to CSV each models.
/autoreports/app_label/module_name/ /autoreports/app_label/module_name/?filter1=value1
Advanced usage
You have for each change list 4 new actions:
Quick report
Report to csv the same that you see in the changelist. Works the filters and the searcher
Advanced report
You have a form to filter. You can customizer this form.
class FooModelAdmin(ReportAdmin, admin.ModelAdmin): report_filter_fields = ('description', 'category', ...) report_display_fields = ('name', 'description', ...)
If you don't define this attributes, report_filter_fields and report_display_fields have the value of list_display
Wizard report
You can create a new "Advanced reports", with this wizard
Reports
A list of "Advanced reports" thet you created with the wizard
You can have this functionality in the public view, if you registry some Model: To access /autoreports/.
from autoreports.registry import report_registry from autoreports.api import ReportApi #...# class ModelApi(ReportApi): category = 'contrato' category_verbosename = 'Contrato' report_registry.register_api(Model, ModelApi)
Configuration
You can set some settings and autoreports adapt itself:
- AUTOREPORTS_BASE_TEMPLATE = 'base.html' # Indicate of the base template
- AUTOREPORTS_FUNCTIONS = True # If you want that the funcions can choose in the wizard
- AUTOREPORTS_INITIAL = True # If you want that the advanced forms have to default the initial values
- AUTOREPORTS_I18N = False # If you want have the forms (that you created with the wizard) in various languages
- AUTOREPORTS_SUBFIX = True # If you want that in the filter set the filter brackets
- AUTOREPORTS_ADAPTOR = {'datetime': 'myappreport.fields.DateTimeFieldReportField'} # If you want change some adaptor
- AUTOREPORTS_WIZARDFIELD = 'myappreport.wizards.MyWizardField' # If you want change the WizardField
- AUTOREPORTS_USE_CMSUTILS = True # If autoreports should use cmsutils package
Development
You can get the last bleeding edge version of autoreports by doing a clone of its git repository:
git clone https://github.com/Yaco-Sistemas/django-autoreports.git
0.8.6
- Fixed error: Add README.rst in MANIFEST
- Fixed error: Add media in MANIFEST
- Fixed error when the language names (in django settings) are unicodes
0.8.5
- Removed cmsutils dependence. Now is an optional package.
0.8.4
- Removed error in en_US system
- Display fields can contains a function instead
0.8.3
- Fixes datetime adaptor
0.8.2
- Sortable fields
0.8.1
- Spanish translations
- Fixes some littles errors
0.8.0
- Wizard in the public view
- Advanced reports in the public view
- Fixes some errors
- More versatile the api
- Added the authors
0.7.9
- Fixes some errors
0.7.8
- Possibility of change the widgets (alpha)
- Layout of the warning when you use a function
- Fixes some errors
- Usability
- More versatile the api
0.7.7
- It be able to create searching filters joining various fields including transmeta fields
- Fixes some errors
- More versatile the api
0.7.6
- Warning (without layout) when you use a function
- It be able to create searching filters joining various fields
- More versatile the api
0.7.5
- Fixed some details of layout
0.7.4
- Fixed a error with nginx/uwsgi deployment
0.7.3
- More compatible with python 2.5
0.7.2
- More versatile the api
0.7.1
- Removed error in the name of functions
- Removed error in the values of choices
- Removed error help_text and label with AUTOREPORTS_I18N = True
- [Wizard] Removed error of the field to inheritance
- [Wizard] Removed error of the field tree infinite
0.7.0
- Code cleanup
- Usability in the wizard
- More funcionality in the API
- A test project
- Remove cmsutils dependence
- Fixes
0.6.1
- Fixed an issue when used in Django 1.3