django中的可编辑数据表,以mongodb为后盾

时间:2012-02-19 12:11:10

标签: python django mongodb datatable

我是蟒蛇,mongodb和django世界的新手。 (来自java ee world)

我有任务要将mongodb中的一些集合表示为django中的html表。 表格应该是可编辑的,因此可以编辑,添加,删除行,列和字段。 其中一些可以设置:粗体,斜体等。

因此,编辑该表中的数据不应该对mongodb中的数据集产生影响,一旦用户满意就可以保存。

我用pymongo模块设置了django和mongodb。还发现了这个项目:http://www.datatables.net/development/server-side/django

有人可以告诉我如何解决这个问题(可以利用哪些模块/软件加快速度)?

3 个答案:

答案 0 :(得分:1)

jquery dataTables插件易于使用,它有助于对数据进行排序,分页和过滤。除非您有大量数据行,否则您可能不需要使用dataTables的服务器端实现。您可以在django视图中以某种方式构建表,然后像这样使用dataTable:

$('#table-id').dataTable();

排序等将起作用。只有当浏览器有效处理许多数据行(1000+)或者流量限制比渲染速度更重要时(服务器端实现需要在每次过滤时等待ajax请求),才真正需要服务器端实现,使用排序或分页。)

但是,

DataTables不提供编辑数据的功能。如果你不想为此编写自己的代码,你应该考虑使用jeditable或类似的插件。为了保存更改,你必须在django中创建一个处理程序(我认为视图是他们如何称呼它)

答案 1 :(得分:1)

您可以考虑dojango-datatable,这是一个将Dojo工具包与Django集成的项目。

对于您正在寻找的内容,我想您可能仍需要编写一些自定义代码。但它应该让你开始朝着正确的方向前进。

http://code.google.com/p/dojango-datable/

  

Dojango数据表允许您定义表格布局和列类型   用Python而不是JS或HTML。它还包括一些模板标签   在可配置的情况下创建dojo.DataGrid所需的HTML   方式。

如果dojango-datatable不够灵活,您可以尝试使用django-piston为Django创建JSON休息服务,然后使用Dojo或其他前端UI与其余服务来完成您需要的操作。

对于django-piston,请查看此讨论:Django and Restful APIs

答案 2 :(得分:0)

检出我放在一起的python模块mongo-datatables,它将DataTables与MongoDB(包括DataTables Editor)联系起来:

这是Django实现: