【问题标题】:Need guidance with creating Django based dashboard需要有关创建基于 Django 的仪表板的指导
【发布时间】:2019-03-25 12:02:40
【问题描述】:

我是 Django 的初学者,作为一个实践项目,我想创建一个带有仪表板的网页,以跟踪对特定 p2p 平台的投资。他们没有漂亮的仪表板(但提供包含所有数据的 excel 文件)。在我看来,我在这个项目中需要做的主要步骤如下:

  1. 创建登录名,以便用户拥有上传 Excel 文件的帐户。
  2. 可以将excel文件导入数据库
  3. 处理/计算数据以供以后在仪表板中使用
  4. 创建仪表板。
  5. 主机网页。

经过一番努力,我已经实施了第 1 点。 2,后面会处理1和5。但是第三个是我现在最大的问题。

  1. 我完全不确定我需要做什么,谷歌也没有提供帮助。我需要先计算数据,然后才能从中制作仪表板。合并两个表,然后将它们与第三个表连接在一起,创建一些额外的所需计算字段。我是否在数据库中创建一个视图并以某种方式将这些数据获取到 Django?还是我需要创建一些规则以便在导入时创建新表?我认为有表而不是视图会有更好的性能。或者也许我做错了,应该对这种任务采取完全不同的方法?另外,SQLite 是一个很好的任务数据库吗(我正在使用它,因为它是 Django 中的默认值)?

  2. 我假设对于可视化部分,我需要使用一些 JavaScript 库,例如 D3?然后它将使用第 3 步中的数据。

【问题讨论】:

    标签: django sqlite django-models data-manipulation


    【解决方案1】:

    对于第 3 部分,有 2 种方法,要么执行这些操作并将结果保存在数据库中,要么您可以在需要时使用 django 模型功能(如注释、聚合等)来执行此操作。

    • 选项 1 需要在 django 中添加一个模型供您计算。

    • 选项 2 需要在视图或模型管理器中创建注释,然后在视图中使用它们。

    Django docs: Aggregation

    哪个最好取决于您的数据有多大、计算有多复杂以及您需要它们的频率。

    对于数据库; SQLite 只是一个用于开发的数据库,而不是用于生产的数据库,而且没有大量的数据和大量的计算。 django推荐的数据库是postgresql,它非常擅长处理数百万甚至数十亿的数据并进行大量计算。

    对于可视化,你应该在模板端处理它,基本上是 HTML、CSS 和 JS。

    【讨论】:

    • 感谢您的回答。我想我现在有个主意了。我应该使用 pandas 进行计算,还是您有其他建议?
    • 这取决于你的计算,pandas 是比使用纯 python 进行计算更好的选择,但如果你能编写好的查询,它仍然不如数据库快。
    猜你喜欢
    • 1970-01-01
    • 2011-08-17
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多