Django - 使用多个 GET 参数在模板中分页

4 python django django-templates

我正在使用 Django Paginator,并且希望有多个可用的获取参数,例如: page=1 sort_by=price

但是,在我的模板标签中,我有:

Showing items sorted by {{ SORT_PARAM }}.
Showing {{ ITEMS_PER_PAGE }} items per page.

{% if has_prev %}
<a href="?page={{ prev_page }}">Previous</a> |
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但是,这不会保留其他 GET 变量。我的意思是,如果我正在观看

page/?page=1&sort_by=price
Run Code Online (Sandbox Code Playgroud)

我单击上面模板片段中的链接,我将转到

page=2
Run Code Online (Sandbox Code Playgroud)

代替

page=2&sort_by=price
Run Code Online (Sandbox Code Playgroud)

我的意思是,a href 不保留其他 GET 参数。

一种解决方案是我可以在 a href 中键入所有可能的 GET 参数,例如

<a href="?page={{ prev_page }}&items_per_page={{ ITEMS_PER_PAGE }}&sort_param={{ SORT_PARAM }}">Previous</a>
Run Code Online (Sandbox Code Playgroud)

但我想在浏览中添加的参数越多,这将变得越难扩展。我猜应该有一种自动化的方法来获取所有 GET 参数,然后传递这些参数和更多参数?