2013-05-10 61 views
4

我使用ListView来显示搜索结果,并使用窗体让用户输入搜索值,这里是问题:当我得到一些搜索结果,比如说50个项目,并且我设置了item_per_page 30,所以我得到了两页,但现在当我点击下一页链接时,它忘记了以前的搜索请求,并向我展示了第2页中的所有项目,以及如何解决这个问题?我的代码如下:django原始搜索结果

我的表单字段是这样的:

<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 %} 

回答

0

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

简单的解决方案将使用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 %}