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...