我有一个带有表格和分页的页面。
我可以用
浏览这些页面<a href="?page={{ myobj.next_page_number }}">
<a href="?page={{ myobj.previous_page_number }}">
现在我想在表格中添加排序。
<th><a href="?sort=date&order=asc">Date</a></th>
在给定的示例中,单击其中一个超链接后,我将失去分页或排序。我需要找到一种方法来使GET参数加法。所以当我在第2页时,后者应该显示
<th><a href="?page=2&sort=date&order=asc">Date</a></th>
我希望有一个内置的解决方案。我在Django 1.10上,但如果有必要,我不介意升级到1.11。
答案 0 :(得分:0)
最简单的方法是在urls.py页面的param中使用cath,并在Paginator对象中使用它。
p = Paginator(your queryset, N°of record per page)
P变量中的将查找查询集的页面。 将值分配给anoter变量
page1 = p.page(1)
并在模板中使用:
page1.object_list
如果您愿意,可以使用https://datatables.net/ 用于管理所有页面和订单。 对于大数据,请参阅https://datatables.net/examples/data_sources/server_side.html
答案 1 :(得分:0)
我建议您首先在视图中的所有链接上生成要附加的字符串,然后将它们添加到链接中。
以下是如何使用urlencode
(Docs)生成一系列GET参数的示例。
from urllib import urlencode, quote
from collections import OrderedDict
page_value = 2
sort_value = "date"
order_value = "asc"
query_string = urlencode(OrderedDict(page=page_value, sort=sort_value, order=order_value))
# outputs page=2&sort=date&order=asc