我是蟒蛇,mongodb和django世界的新手。 (来自java ee world)
我有任务要将mongodb中的一些集合表示为django中的html表。 表格应该是可编辑的,因此可以编辑,添加,删除行,列和字段。 其中一些可以设置:粗体,斜体等。
因此,编辑该表中的数据不应该对mongodb中的数据集产生影响,一旦用户满意就可以保存。
我用pymongo模块设置了django和mongodb。还发现了这个项目:http://www.datatables.net/development/server-side/django
有人可以告诉我如何解决这个问题(可以利用哪些模块/软件加快速度)?
答案 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实现: