django - 结合分页与过滤和request.POST的最佳方式 - 像stackoverflow - ajax?

时间:2010-01-05 13:02:31

标签: django

我想将分页与过滤结合起来。由于我有很多过滤器,我不想按GET请求发送它们,因为URL真的很难看。

由于django分页使用GET请求传递页面参数,我不知道如何将这两种方法结合起来。

有什么想法吗?

很棒的附加组件是:我如何将这种方法与表格排序结合起来? : - )

编辑:

实际上它应该像stackoverflow的分页一样工作 - 用户问题。如果用户点击页码,则会显示正确的页面,而不会在网址中显示获取参数。

这是被叫的网址。 https://stackoverflow.com/api/userquestions.html?page=2&pagesize=10&userId=237690&sort=Recent

但浏览器中显示的网址简洁明了。 似乎是ajax。有人知道如何实现这个吗? :)

如果浏览器的地址栏中没有显示该URL,我不关心它是否漂亮。

编辑:解决方案:

使用传递给视图的所有过滤器参数进行ajax更新。这可以帮助您开始为您的网站实施ajax:link

因此,GET参数永远不会出现在地址栏中。

4 个答案:

答案 0 :(得分:5)

你检查了django的paginate应用程序吗? 它可以帮助你很多,一直使用它:D

http://code.google.com/p/django-pagination/

答案 1 :(得分:2)

您考虑过django-tables2了吗?它为您提供了django-admin样式表,而无需您自己编写逻辑。

答案 2 :(得分:0)

答案 3 :(得分:0)

我找到了两个解决方案:

  1. 而不是只使用超链接在POST表单中使用它,我现在没有任何示例,但我记得在Ruby on rails上使用了它的REST函数
  2. 将查询信息保存在会话中。
  3. 希望得到这个帮助。