我想将分页与过滤结合起来。由于我有很多过滤器,我不想按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参数永远不会出现在地址栏中。
答案 0 :(得分:5)
你检查了django的paginate应用程序吗? 它可以帮助你很多,一直使用它:D
答案 1 :(得分:2)
您考虑过django-tables2了吗?它为您提供了django-admin样式表,而无需您自己编写逻辑。
答案 2 :(得分:0)
也许你可以使用urs,例如:
http://oursite.com/something/filter1/filter2/3/
doc - > http://docs.djangoproject.com/en/1.1/topics/http/urls/
答案 3 :(得分:0)
我找到了两个解决方案:
希望得到这个帮助。