3

我需要制作一个表格数据结构(制表符分隔的文本文件),以作为基于 Web 的解决方案进行查看。我是一名生物信息学程序员,几乎没有基于 Web 的开发经验。我知道 django 在 python 社区非常热门,但在我继续购买一本关于 django 的书之前,我想在这里问一下。你会选择什么技术堆栈来完成这样的事情。我需要显示一个包含 40-50 列和 100.000 行的表格,并希望让用户根据某些数据项过滤数据(即只显示某一列中具有特定值的行,只显示星期一记录的数据并隐藏所有其他工作日)

如果这个问题太模糊或愚蠢,我很抱歉,但我真的需要一些基本的指导。谢谢

4

5 回答 5

2

Django可以很容易地做到这一点。

于 2011-02-08T02:37:55.590 回答
1

Django 可以做到这一点,但我认为最好的方法是在 django 之上使用 Javascript 框架,我目前正在这样做。ExtJS 在您的情况下具有各种类型的网格,我认为“实时”网格将是完美的。

它加载 x 行,因此您不必每次都加载 100,000 行,就像用户看到的那样。此外,内置过滤器等以及许多其他功能

其他做类似事情的 javascript 框架是 YUI,在我看来 JQuery 在较小程度上

编辑/详细说明

所以很明显这里不是初学者速成课程的地方,但在我看来,有几件事你需要做和知道。

这将首先创建一个返回JSON 字符串的 django 视图。(如果这句话没有完全的意义,我会建议略读 Django教程......实际上,你可能应该这样做) Python 有方法来转换数据类型,如字典/csv(在你的情况下,我猜TSV 大声笑)到这种格式。然后,当你有这个(可以通过一个 url 指向......当你潜入 Django 时它会更有意义)然后你创建 ExtJS 网格并将它指向那个 url。

这里有一大堆关于 ExtJS 网格的教程,特别是 Tutorial:Grid PHP SQL 我认为会有帮助。显然不是php,但概念是一样的。

不幸的是,我没有任何自己的例子可以给你看,但是关于这些东西有很多资源,我不会费心去买书

于 2011-02-08T02:43:45.653 回答
1

我认为这可以在没有 JavaScript 的情况下轻松完成。neolaser 概述的也是我首选的解决方案,但 django 可以毫不费力地做到这一点。你需要

  1. 配置你的 models.py 以匹配你的数据库
  2. 接受获取请求并根据其内容进行查询的视图。http://docs.djangoproject.com/en/dev/ref/models/querysets/
  3. 一个模板,它显示这些查询的结果并允许您发出您的视图将解释的 get 请求。

因为 django 是一个如此广泛使用的框架,所以很容易找到各种术语(谷歌:“django 视图”、“django 模型”等)。

于 2011-02-08T03:54:49.950 回答
1

如果您所描述的确实是您所做的一切,那么我会说 Django 可能是矫枉过正。也许首先尝试一个更简单的基本框架,如 Cherrypy(参见教程)来为您的简单页面/表单提供服务(您甚至不需要模板,只需自己返回 HTML)。现在您只需要一些代码来读取、过滤和/或分页以及格式化您的 CSV。

于 2011-02-08T04:37:08.970 回答
0

如果你想快速轻松地把这样的东西放在一起,而且你没有太多的 web 开发经验,我认为你最好的选择是web2py。它不需要安装或配置,没有依赖关系,并且包括一个 Web 服务器、一个关系数据库、一个基于 Web 的集成开发环境和管理界面(演示)以及 jQuery 集成(用于 Javascript 和 Ajax)。它非常容易学习,专为易用性和开发人员生产力而设计。由于包含的脚手架应用程序以及许多合理的默认行为,您可以用很少的代码完成很多工作。

至于表格/网格显示,您可能会使用:

如果您需要入门帮助或有任何疑问,您将从非常友好且响应迅速的邮件列表中获得大量帮助。

于 2011-02-11T05:12:15.600 回答