使用来自 Django 后端的数据创建图表/图形的最有效方法是啥

Posted

技术标签:

【中文标题】使用来自 Django 后端的数据创建图表/图形的最有效方法是啥【英文标题】:What would be the most efficient way of creating charts/graphs with data from a Django backend使用来自 Django 后端的数据创建图表/图形的最有效方法是什么 【发布时间】:2019-05-12 23:38:50 【问题描述】:

我使用 Django 构建了一个应用程序,我想知道为我的数据(供个人查看)创建图表和图形的最有效方法是什么。我正在考虑将图表/图形放在仪表板中,并能够在数据库中创建和删除记录(可能在不同的选项卡中)。最初我想在 Django 管理面板中使用它,因为我已经经常使用它来查看/删除/创建小数据。我研究了各种自定义 django 管理库,但其中很多似乎只是对 UI 的改进。我想要的另一个小功能是将不同应用程序中的各种模型重新组合到一个列表中,而不是默认布局,其中主标题是各种 django 应用程序,每个下面是应用程序的模型。

我对如何执行此操作有几个想法:

    根据我的需要创建自定义 django 管理模板。这将包括图形/图表,但我不确定重新组合。 也许可以创建一个前端应用程序来制作图表并自己进行分组。这将通过 GET/POST/DELETE 请求与后端通信。我会在后端写一些东西来将数据转换成 JSON 并返回。这个选项似乎需要做更多的工作,但我觉得它会更灵活地满足我的需求 使用库。但是,我一直无法找到适合我正在寻找的东西。

总的来说,我正在寻找看起来/执行起来像仪表板但具有 django 管理面板功能的东西,我可以在其中随意创建/修改/删除记录。

任何帮助和/或建议将不胜感激。

【问题讨论】:

出于好奇,您选择了哪种方法? @ohlr 自定义 django 管理选项。将数据作为 json 提供,然后使用 d3 访问和绘制数据 【参考方案1】:

从 python/服务器端的角度来看,有各种绘图库,例如 matplotlib,可以生成 svg 图形。您可以通过向服务器发送新请求来使它们具有交互性。

如果您更希望在客户端 (D3.js) 使用某些东西,例如:D3.js with Django

【讨论】:

我明白了,如果我想保留像 django 管理面板这样的创建/编辑/删除记录的功能,你会推荐什么 嗯,用户应该可以修改底层模型。

以上是关于使用来自 Django 后端的数据创建图表/图形的最有效方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

Django:项目使用来自 REST API 的数据,如何在这个系统中使用外部应用程序?

来自 django 后端的消息的 HTMX - 已解决

Chartjs 没有在我的 Django 项目中显示图表

在另一个模板中显示来自 Django 视图的 HTML 表

将来自 %matplotlib 笔记本后端的输出作为 SVG 包含在 ipynb 中

更改组合框选项以修改图形/图表