Django应用程序,可让您创建报告
项目描述
Autoreports
自动报告是一个Django应用程序,允许您在非常Django Admin列表中创建报告。
安装
在您的settings.py中
INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', #.....................# 'autoreports', )
在您的urls.py中
urlpatterns = patterns('', #...# (r'^autoreports/', include('autoreports.urls')), #...# )
媒体文件
将项目媒体目录中的媒体文件链接起来
cd {{ MEDIA_ROOT }} ln -s {{ AUTOREPORTS_FORM_PATH }}media/ autoreports
在管理站点(从高级用法开始)
按以下方式重新定义‘admin/change_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 %} #...#
默认情况下,它将使用‘list_display’字段导出CSV。您可以在每个模型管理中重新定义它。
from autoreports.admin import ReportAdmin #...# class FooModelAdmin(ReportAdmin, admin.ModelAdmin): pass
基本用法
您必须有一个API,并且您可以导出每个模型的CSV。
/autoreports/app_label/module_name/ /autoreports/app_label/module_name/?filter1=value1
高级用法
对于每个更改列表,您有4个新操作
快速报告
将与更改列表中相同的内容导出到CSV。适用于筛选器和搜索器
高级报告
您有一个筛选器表单。您可以自定义此表单。
class FooModelAdmin(ReportAdmin, admin.ModelAdmin): report_filter_fields = ('description', 'category', ...) report_display_fields = ('name', 'description', ...)
如果您没有定义这些属性,则report_filter_fields和report_display_fields的值与list_display相同
向导报告
您可以使用此向导创建一个新的“高级报告”
报告
使用向导创建的高级报告列表
如果您注册了一些模型:您可以在公共视图中使用此功能以访问/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)
配置
您可以设置一些设置,自动报告会相应调整
AUTOREPORTS_BASE_TEMPLATE = 'base.html' # 指定基本模板
AUTOREPORTS_FUNCTIONS = True # 如果您想在向导中选择函数
AUTOREPORTS_INITIAL = True # 如果您想使高级表单默认具有初始值
AUTOREPORTS_I18N = False # 如果您想以多种语言显示(您使用向导创建的)表单
AUTOREPORTS_SUBFIX = True # 如果您想在筛选器中设置筛选器括号
AUTOREPORTS_ADAPTOR = {'datetime': 'myappreport.fields.DateTimeFieldReportField'} # 如果您想更改一些适配器
AUTOREPORTS_WIZARDFIELD = 'myappreport.wizards.MyWizardField' # 如果您想更改WizardField
AUTOREPORTS_USE_CMSUTILS = True # 如果自动报告应该使用cmsutils包
开发
您可以通过克隆其git存储库来获取autoreports的最新版本
git clone https://github.com/Yaco-Sistemas/django-autoreports.git
0.8.6
修复错误:在MANIFEST中添加README.rst
修复错误:在MANIFEST中添加媒体文件
修复当语言名称(在django设置中)是unicodes时的错误
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
与python 2.5更兼容
0.7.2
API更加灵活
0.7.1
移除了函数名称中的错误
移除了选择值中的错误
移除了在AUTOREPORTS_I18N = True时帮助文本和标签的错误
【向导】移除了继承字段的错误
【向导】移除了无限字段树的错误
0.7.0
代码清理
向导中的可用性
API中更多功能
测试项目
移除了cmsutils依赖性
修复
0.6.1
修复了在Django 1.3中使用时的问题
项目详细信息
django-autoreports-0.8.6.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 95752ddb7cfdeed009341955de28dbf44897e08e65e81e9b031765d2da7b692d |
|
MD5 | ce1e443df95c97bba96db2697ccec3f2 |
|
BLAKE2b-256 | 180617a2b0046be81e0ba8113c979f6136ad26a168f983fe86306d20326f79f4 |