需要有关创建基于Django的信息中心的指导

时间:2019-03-25 12:02:41

标签: django sqlite django-models data-manipulation

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

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

经过一番挣扎,我实现了要点。 2,并将在以后处理1和5。但是3号是我现在最大的问题。

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

  2. 我认为对于vizualization部分,我将需要使用某些JavaScript库(例如D3)来实现?然后将使用第3步中的数据。

1 个答案:

答案 0 :(得分:1)

对于第3部分,有两种方法,要么做这些事情并将结果保存到数据库中,要么可以在需要时使用django模型功能(例如注释,聚合等)来完成。

  • 选项1需要添加一个供您计算的表,即Django中的模型。

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

Django docs: Aggregation

哪个最佳,取决于您的数据量,计算的复杂程度和需要的频率。

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

要实现可视化,您应该在模板方面(基本上是HTML,CSS和JS)进行处理。