一组用于为您的 Django 项目构建仪表板的小部件。
项目描述
将您的所有项目模型放在一个带有图表和口哨的页面上。
注意力!
不幸的是,我没有时间添加新功能。如果您需要,请进行 PR:
从主分支
提供测试
添加文档
更新变更日志
而已。
基本原理
Django-admin是一个很好的工具来控制你的项目活动:新订单、评论、回复、用户、反馈——一切都在这里。唯一的困难是不断地在所有这些页面之间切换,只是为了检查它们是否有新条目。
使用 django-controlcenter,您可以将所有模型放在一个页面上,并使用Chartist.js构建漂亮的图表。实际上,它们甚至不必是 django 模型,从任何你想要的地方获取数据:RDBMS、NOSQL、文本文件甚至是来自外部网页,没关系。
快速开始
安装 django-controlcenter:
pip install -U django-controlcenter
创建具有无限数量的小部件和仪表板的仪表板文件:
from controlcenter import Dashboard, widgets
from project.app.models import Model
class ModelItemList(widgets.ItemList):
model = Model
list_display = ('pk', 'field')
class MyDashboard(Dashboard):
widgets = (
ModelItemList,
)
更新设置文件:
INSTALLED_APPS = [
...
'controlcenter',
...
]
CONTROLCENTER_DASHBOARDS = (
('mydash', 'project.dashboards.MyDashboard'),
)
插入网址:
from django.urls import path
from django.contrib import admin
from controlcenter.views import controlcenter
urlpatterns = [
path('admin/', admin.site.urls),
path('admin/dashboard/', controlcenter.urls),
...
]
在浏览器中打开/admin/dashboard/mydash/。
文档
查看文档以获取更完整的示例。
兼容性
在 py 3.5-3.10 和 django 1-4 上测试。
学分
该项目使用Chartist.js、Masonry.js和Sortable.js。
变更日志
0.3.1
支持django 4.0、python 3.10。感谢@mick88。
固定线图示例。感谢@virtosubogdan。
0.3.0
支持django 3.0
仅限 Python 3
0.2.9
chartist-plugin-pointlabels临时修复
向ItemList添加了排序三角形
无论可排序性,现在始终显示ItemList标题
其他杂项改进
感谢@minusf。
0.2.8
修复了 key_value_list.html小部件模板语法错误。
修复了属性拼写错误widget.chartist.point_labels -> point_labels。
感谢@minusf。
0.2.7
新的TimeSeriesChart小部件。感谢@pjdelport。
新的“简单”小部件:ValueList和KeyValueList。感谢@tonysyu。
一系列修复和改进,再次感谢@pjdelport。
0.2.6
修复了导航菜单链接,感谢@editorgit
0.2.5
现在可以将 slug 用于仪表板,而不是CONTROLCENTER_DASHBOARDS中的那些索引。旧的行为也受支持。
0.2.4
现在兼容django 1.8—2.1
自定义应用名称可以传递给ControlCenter类
0.2.3
感谢@pauloxnet,更新了列网格。
感谢@danielquinn,语法修复。
现在应该可以使用带有自定义模板的自定义仪表板视图。
0.2.2
dashboard.html现在扩展admin/base_site.html而不是admin/base.html 以显示品牌块。感谢@chadgh。
感谢@k8n,更新了 jsonify标签过滤器。
0.2.1
Django 1.10 支持。仅在毒性测试中。
感谢@greeve,更新了 SingleBarChart 示例。
0.2.0
无限的仪表板支持。
配置构造函数被移动到一个单独的项目 - django-pkgconf。现在是依赖。
0.1.2
图表i系列颜色修复。感谢@uncleNight。
文档。最后。
0.1.1
更好的响应体验。
0.1.0
首次公开发布。