跳转到主要内容

django-admin-charts - 为 `django-admin` 和 `django-admin-tools` 提供易于配置的图表统计信息

项目描述

Django管理图表

描述:

django-admindjango-admin-tools 提供易于配置的图表统计信息。

文档:

http://django-admin-charts.readthedocs.org/en/latest/

https://github.com/PetrDlouhy/django-admin-charts/actions/workflows/main.yml/badge.svg?branch=master Latest Version Downloads Supported Python versions License

从您的模型创建美观的配置图表,并在 django-admin 索引页或 django-admin-tools 仪表板上显示它们。图表基于通过管理界面定义的模型和标准,一些图表参数可以在实时视图中配置。

这是 django-admin-tools-stats 的分支,它已经被重构为通过Ajax显示所有图表,并支持纯 django-admin。虽然支持 django-admin-tools,但不是必需的。

https://github.com/PetrDlouhy/django-admin-charts/raw/master/docs/source/_static/stacked_area_chart.png https://github.com/PetrDlouhy/django-admin-charts/raw/master/docs/source/_static/bar_chart.png https://github.com/PetrDlouhy/django-admin-charts/raw/master/docs/source/_static/aoe_chart.png

要求

  • Django>=2.0

  • Python>3.6

  • PostgreSQL(MySQL是实验性的,其他数据库可能无法工作,但欢迎PR)

  • 基于 DecimalField 值的图表需要 simplejson

警告

django-admin-charts 应用程序的主要用途是为具有访问Django管理界面的系统管理员。该应用程序不打算由不受信任的用户使用,因为它将某些Django功能暴露给用户,尤其是在图表配置方面。

尚未检查是否有恶意用户能够通过访问图表来利用应用程序获取系统或数据的访问权限。

安装

使用以下命令安装 django-admin-charts

$ pip install django-admin-charts

django-admin的基本设置

在settings.py中将admin_tools_stats(Django图表应用程序)和django_nvd3添加到INSTALLED_APPS

INSTALLED_APPS = (
    'admin_tools_stats',  # this must be BEFORE 'admin_tools' and 'django.contrib.admin'
    'django_nvd3',
    ...
    'django.contrib.admin',
)

在您的urls.py中注册图表视图

from django.urls import include, path
urlpatterns = [
    path('admin_tools_stats/', include('admin_tools_stats.urls')),
]

确保已设置默认缓存:[https://docs.django.ac.cn/en/3.2/topics/cache/#memcached](https://docs.django.ac.cn/en/3.2/topics/cache/#memcached)

运行迁移

$ python manage.py migrate

打开Django管理根目录,并添加您的“仪表板统计”配置

https://github.com/PetrDlouhy/django-admin-charts/raw/master/docs/source/_static/Sn%C3%ADmek%20obrazovky_2022-03-04_17-29-58.png https://github.com/PetrDlouhy/django-admin-charts/raw/master/docs/source/_static/Sn%C3%ADmek%20obrazovky_2022-03-04_17-31-16.png

然后图表将出现在Django管理页面的根目录以及分析页面(/admin_tools_stats/analytics/)上。

特殊配置

从django-admin-tools-stats更新

卸载django-admin-tools-stats。

根据前述章节按照django-admin-charts的安装方法进行操作。特别注意以下步骤:- 在admin_tools和django.contrib.admin之前将admin_tools_stats移动到INSTALLED_APPS中。- 配置urls.py。

在仪表板定义中将DashboardCharts更改为DashboardChart(即使为了兼容性原因保留了虚拟类,这也建议这么做)。

检查来自admin_tools_stats或DashboardChart(s)类的任何可能干扰更改的覆盖模板。

配置javascript库

默认情况下,nvd3/d3库是从unpkg获取的。如果您想自己安装这些库,可以根据以下设置设置它们的路径

ADMIN_CHARTS_NVD3_JS_PATH = 'bow/nvd3/build/nv.d3.js'
ADMIN_CHARTS_NVD3_CSS_PATH = 'bow/nvd3/build/nv.d3.css'
ADMIN_CHARTS_D3_JS_PATH = 'bow/d3/d3.js'

设置可以接受完整的路径(带有http...)或静态文件路径。请注意,nvd3==1.8.6和d3==3.3.13是唯一经过测试可正常工作的版本。

使用django-bower安装javascript库

将django-bower添加到settings.py中的INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'djangobower'
)

将以下属性添加到您的settings.py文件中

# Specifie path to components root (you need to use absolute path)
BOWER_COMPONENTS_ROOT = os.path.join(PROJECT_ROOT, 'components')


BOWER_INSTALLED_APPS = (
    'd3#3.3.13',
    'nvd3#1.8.6',
)

将django-bower查找器添加到您的静态文件查找器中

STATICFILES_FINDERS = (
    ...
    'djangobower.finders.BowerFinder',
)

运行以下命令。这些命令将使用bower下载nvd3.js及其依赖项,并将它们放入您的静态文件夹中,以便您的应用程序访问

$ python manage.py bower_install
$ python manage.py collectstatic

与django-admin-tools一起使用

配置admin_tools

将以下代码添加到dashboard.py

from admin_tools_stats.modules import DashboardChart, get_active_graph

# append an app list module
self.children.append(modules.AppList(
    _('Dashboard Stats Settings'),
    models=('admin_tools_stats.*', ),
))

# Copy following code into your custom dashboard
# append following code after recent actions module or
# a link list module for "quick links"
if context['request'].user.has_perm('admin_tools_stats.view_dashboardstats'):
        graph_list = get_active_graph()
    else:
        graph_list = []

for i in graph_list:
    kwargs = {}
    kwargs['require_chart_jscss'] = True
    kwargs['graph_key'] = i.graph_key

    for key in context['request'].POST:
        if key.startswith('select_box_'):
            kwargs[key] = context['request'].POST[key]

    self.children.append(DashboardChart(**kwargs))

您可能还需要将一些包含项添加到您的模板admin基本中,请参阅示例项目

demoproject/demoproject/templates/admin/base_site.html

运行示例

运行以下命令

export DB_ENGINE='sqlite'
pip install -r requirements.txt
python manage.py migrate
python manage.py loaddata demoproject/fixtures/auth_user.json
python manage.py loaddata demoproject/fixtures/test_data.json
python manage.py bower install
python manage.py runserver

然后使用用户名admin和密码admin登录到本地主机:8000/admin站点。

开发

依赖关系

django-admin-charts是一个基于django的应用程序,主要要求包括

  • django-jsonfield

  • django-nvd3

  • django-bower

运行测试

测试可以通过以下方式运行

DB_ENGINE="postgres" coverage run ./manage.py test --keepdb

贡献

如果您发现了一个错误,增加了一个功能或改进了django-admin-charts,并认为它是有用的,那么请考虑做出贡献。补丁、拉取请求或只是建议总是受欢迎的!

源代码:http://github.com/PetrDlouhy/django-admin-charts

错误跟踪器:https://github.com/PetrDlouhy/django-admin-charts/issues

调试图表

对于图表数据视图(/admin_tools_stats/chart_data/payments/),可以添加URL查询参数&debug=True,以获取Django调试页面或Django调试工具栏。

文档

文档可在‘Read the Docs’上找到:http://readthedocs.org/docs/django-admin-charts/

许可证

django-admin-charts 采用 MIT 许可,请参阅 MIT-LICENSE.txt

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

django_admin_charts-1.4.0.tar.gz (479.6 kB 查看哈希值)

上传时间 源代码

构建分发

django_admin_charts-1.4.0-py3-none-any.whl (83.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面