用于创建报表的django应用程序
django-autoreports的Python项目详细描述
内容
Autoreports
autoreports是一个django应用程序,它允许您在 Django管理列表
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')), #...# )
In the admin site (from Advanced usage)
重新定义“admin/change\u list.html”模板,如下所示
{% 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 %} #...#
默认情况下,它将采用“列表显示”字段以CSV格式导出。 您可以在每个模型管理员中重新定义它:
from autoreports.admin import ReportAdmin #...# class FooModelAdmin(ReportAdmin, admin.ModelAdmin): pass
Basic usage
您必须使用api,并且可以将每个模型导出到csv。
/autoreports/app_label/module_name/ /autoreports/app_label/module_name/?filter1=value1
Advanced usage
每个更改列表有4个新操作:
Quick report
向csv报告与您在变更列表中看到的相同。使用过滤器和搜索器
Advanced report
您有一个表单要筛选。您可以自定义此表单。
class FooModelAdmin(ReportAdmin, admin.ModelAdmin): report_filter_fields = ('description', 'category', ...) report_display_fields = ('name', 'description', ...)
如果不定义此属性,则report_filter_fields和report_display_fields的值为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
如果您注册了某个模型,则可以在公共视图中使用此功能: 访问/自动报告/。
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
您可以设置一些设置并自动报告自我调整:
- 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
通过克隆,您可以获得autoreports的最后一个出血边缘版本 它的git存储库:
git clone https://github.com/Yaco-Sistemas/django-autoreports.git
0.8.6
- 修正错误:在清单中添加readme.rst
- 修正错误:在清单中添加媒体
- 修正了当语言名称(在django设置中)是unicode时的错误
0.8.5
- 消除了cmsutils依赖。现在是一个可选的包。
0.8.4
- 已删除en-us系统中的错误
- 显示字段可以改为包含函数
0.8.3
- 修复日期时间适配器
0.8.2
- 可排序字段
0.8.1
- 西班牙语翻译
- 修复了一些小错误
0.8.0
- 公共视图中的向导
- 公共视图中的高级报告
- 修复了一些错误
- 更通用的API
- 添加了作者
0.7.9
- 修复了一些错误
0.7.8
- 更改窗口小部件的可能性(alpha)
- 使用函数时警告的布局
- 修复了一些错误
- 可用性
- 更通用的API
0.7.7
- 它能够创建连接各种字段(包括transmeta字段)的搜索筛选器
- 修复了一些错误
- 更通用的API
0.7.6
- 使用函数时出现警告(无布局)
- 它能够创建连接各种字段的搜索筛选器
- 更通用的API
0.7.5
0.7.4
- 修正了nginx/uwsgi部署的错误
0.7.3
- 与Python2.5更兼容
0.7.2
- 更通用的API
0.7.1
- 删除了函数名中的错误
- 删除了选项值中的错误
- 删除了错误帮助文本和带有自动报告的标签
- [向导]删除了要继承的字段的错误
- [向导]删除了字段树无限的错误
0.7.0
- 代码清理
- 向导中的可用性
- api中的更多功能性
- 测试项目
- 消除cmsutils依赖性
- 修复
0.6.1
- 修正了在django 1.3中使用时出现的问题