Django內建分頁擴充套件

2021-09-02 20:33:21 字數 2437 閱讀 7399

1.url檔案

#ulr檔案

from django.contrib import admin

from django.urls import path

urlpatterns = [

path('admin/', admin.site.urls),

path('index,views.index)

path('show',views.show)

]

2.views檔案

from django.shortcuts import render

from django.core.paginator import paginator, emptypage, pagenotaninteger

# create your views here.

user_list = #定義乙個列表,儲存資料

for i in range(1,1000):

user =

def index(request):

per_page_count = 10

current_page=request.get.get('p')

current_page=int(current_page)

start = (current_page - 1)*per_page_count

end =current_page*per_page_count

data = user_list[start:end]

if current_page<=1:

prve_pag = 1

prve_pag = current_page -1

next_pag = current_page +1

return render(request,'index.html',)

class custompaginator(paginator): #繼承paginator後,可以不改變原有類的**,而擴充套件內建分頁

def __init__(self,current_page,per_page_num,*args,**kwargs):

super(custompaginator,self).__init__(*args,**kwargs)#繼承,等價於:paginator.__init__(self,*args,**kwargs)

#當前頁

self.current_page = int(current_page)

#最多顯示數量

self.per_page_num = int(per_page_num)

def per_num_range(self):

#如果總頁數小於最多顯示數量

if self.num_pagesself.num_pages:

return range(self.num_pages - self.per_pager_num + 1, self.num_pages + 1)

return range(self.current_page - part, self.current_page + part + 1)

def show(request):

# 全部資料:user_list,=》得出共有多少條資料

# per_page: 每頁顯示條目數量

# count: 資料總個數

# num_pages:總頁數

# page_range:總頁數的索引範圍,如: (1,10),(1,200)

current_page=request.get.get('p')

paginator = custompaginator(current_page,7,user_list,10)

try:

posts=paginator.page(current_page)

# object_list 分頁之後的資料列表,已經切片好的資料

# number 當前頁

# paginator paginator物件

except pagenotaninteger:

posts = paginator.page(1)

except emptypage:

posts=paginator.page((paginator.num_pages))

return render(request,"show.html",)

3.html檔案

#引入模板

4.include引入的模板頁可以重複迴圈使用

}

}}/}

5.效果顯示

Django 內建分頁

from django.core.paginator import paginator,page userlist models.user.objects.all paginator paginator userlist,10 per page 每頁顯示條目數量 count 資料總個數 num pa...

Django內建分頁

1 匯入django類生成物件之後的方法 內建分頁需要匯入django中的類 from django.core.paginator import paginator paginator paginator user list,10 第乙個引數是我們查出來的所有的物件,第二個引數表示的是每頁顯示的行數...

Django擴充套件內建User類

內建user類 使用內建user可以方便實現登入驗證,利用admin管理介面還可以方便新增 刪除 修改使用者。乙個內建的user類定義了以下字段 username 使用者名稱 password 密碼 first name 姓名first last name 姓名last email 郵箱 group...