1. 程式人生 > 實用技巧 >django 中的分頁器

django 中的分頁器

1:引入django內建的分頁器

from django.core.paginator import Paginator

2:

    def get(self,request,page_num):
     “”“ page_num 指定頁碼 ”“”
    
        #模糊搜尋
        q = self.get_search_query(["name", "start_time"])
        #查詢使用者

        if request.path_info == reverse("customer:customer",args=(page_num,)):
            all_customer 
=models.Customer.objects.filter(q,user__isnull = True) else: all_customer =models.Customer.objects.filter(q,user=request.user) #建立分頁器 物件,all_customer要分頁的物件,constants.CUSTOMER_LIST_PER_PAGE,每頁的顯示條數 paginator = Paginator(all_customer,constants.CUSTOMER_LIST_PER_PAGE)
#獲取指定頁碼的資料 page_customer = paginator.page(page_num) #獲取總頁數 total_page = paginator.num_pages data = { 'page_customer': page_customer, 'page_num': page_num, 'total_page': total_page, } return render(request,"customer.html
",data)

3:前端利用jQuery中的分頁器

(1):引入jQuery分頁器相關的包

<link rel="stylesheet" href="/static/css/jquery.pagination.css">
<script type="text/javascript" src="{{ static('js/jquery.pagination.min.js') }}"></script>

(2):準備分頁器標籤

<div class="r_wrap fr clearfix">
    <div class="pagenation">
        <div id="pagination" class="page"></div>
     </div>
 </div>

(3):準備分頁器互動

<script type="text/javascript">
    $(function () {
        $('#pagination').pagination({
            currentPage: {{ page_num }},
            totalPage: {{ total_page }},
            callback:function (current) {
                // {#location.href = '/list/115/1/?sort=default';#}
                location.href = '/public/customerList/'+current;
            }
        })
    });
</script>