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