django-admin-charts - 为 `django-admin` 和 `django-admin-tools` 提供易于配置的图表统计信息
项目描述
Django管理图表
- 描述:
为 django-admin 和 django-admin-tools 提供易于配置的图表统计信息。
- 文档:
从您的模型创建美观的配置图表,并在 django-admin 索引页或 django-admin-tools 仪表板上显示它们。图表基于通过管理界面定义的模型和标准,一些图表参数可以在实时视图中配置。
这是 django-admin-tools-stats 的分支,它已经被重构为通过Ajax显示所有图表,并支持纯 django-admin。虽然支持 django-admin-tools,但不是必需的。
要求
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管理根目录,并添加您的“仪表板统计”配置
然后图表将出现在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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4a65a9ff6acf91efc8bdfd8ef9f4f6d3425bae5fbe1cf2a199ba645bb9a3e765 |
|
MD5 | 759049a5372be26933b0f9f959f1a3c5 |
|
BLAKE2b-256 | e1b00e7c2a0e13f5a72bf654b6b460504b179de52931c8219ad4e79d6a5dfd27 |
django_admin_charts-1.4.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b415bdcf5d5b5878f386e65e34cea4e64e8d7ccd49c84ef15a2644ba34460fe8 |
|
MD5 | c18204aeb58a78e0a72025c69db16599 |
|
BLAKE2b-256 | 6b8f994a16d105f3262c83e88cac767477f1c0a0c74bcb41cf96e155c611e1fa |