gpt4 book ai didi

django 对原始搜索结果进行分页

转载 作者:行者123 更新时间:2023-12-01 06:34:20 26 4
gpt4 key购买 nike

我使用 ListView 来显示搜索结果,并使用表单让用户输入搜索值,问题是:当我得到一些搜索结果时,比如 50 个项目,我将 item_per_page 设置为 30,所以我得到了两页,但是现在当我单击下一页链接时,它会忘记之前的搜索请求并显示第 2 页中的所有项目,如何解决此问题?我的代码如下:

我的表单字段是这样的:

<form method="get" action="{% url 'query_student' %}">
#the form fields
</form>

我的分页模板:
{% if is_paginated %}
<div class="pages">
{% if page_obj.has_previous %}
<a href="/student/querystudent?page={{ page_obj.previous_page_number }}">previous</a>
{% endif %}
<span class="btnon">
page {{ page_obj.number }} total {{ page_obj.paginator.num_pages }}
</span>
{% if page_obj.has_next %}
<a href="/student/querystudent?page={{ page_obj.next_page_number }}">>next</a>
{% endif %}
</div>
{% endif %}

最佳答案

您缺少所有表单数据的查询字符串

最简单的解决方案是使用 django-url-tools ,然后在上一页/下一页的链接中,您将添加:

{% load urls %}

...

{% add_params request.get_full_path page=page_obj.previous_page_number %}

...

{% add_params request.get_full_path page=page_obj.next_page_number %}

关于django 对原始搜索结果进行分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16479073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com