如何链接到同一页面并添加GET参数?添加剂GET参数?

时间:2017-03-28 07:37:31

标签: django django-templates

我有一个带有表格和分页的页面。

我可以用

浏览这些页面
<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。

2 个答案:

答案 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)

我建议您首先在视图中的所有链接上生成要附加的字符串,然后将它们添加到链接中。

以下是如何使用urlencodeDocs)生成一系列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