跳转到主要内容

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 (53.1 kB 查看散列值)

上传时间

支持者