2013-05-10 72 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 %}