我在使用分页时遇到问题Django。以下面的网址为例:
http://127.0.0.1:8000/users/?sort=first_name
在此页面上,我按用户的名字对用户列表进行排序。如果没有排序 GET 变量,它默认按 id 排序。
现在,如果我单击下一个链接,我期望看到以下 URL:
http://127.0.0.1:8000/users/?sort=first_name&page=2
相反,我丢失了所有获取变量并最终得到
http://127.0.0.1:8000/users/?page=2
这是一个问题,因为第二页是按 id 而不是 first_name 排序的。
如果我使用 request.get_full_path 我最终会得到一个丑陋的 URL:
http://127.0.0.1:8000/users/?sort=first_name&page=2&page=3&page=4
解决办法是什么?有没有办法访问模板上的 GET 变量并替换页面的值?
我正在使用分页,如中所述Django 的文档我的偏好是继续使用它。我使用的模板代码与此类似:
{% if contacts.has_next %}
<a href="?page={{ contacts.next_page_number }}">next</a>
{% endif %}