批量插入資料
book_list =
#先生成物件
for i in range(100):
book = book(name = 'book%s'%i,price=10+i)
#操作物件列表,設定一次操作多少條資料
book.objects.bulk_create(book_list,10)
1.匯入分頁器模組
from django.core.paginator import paginator
2.生成分頁器物件
第乙個引數為分頁物件列表,第二個引數為一頁的數量
paginator = paginator(book_list,10)
3.分頁常用方法
#分頁物件的總數
count = paginator.count()
#分成的總頁數
num_pages = paginator.num_pages()
#頁數的範圍
page_range = paginator.page_range
#當前頁面數從前台獲取
try:
current_page_num = int(request.get.get('page',1))
except:
current_page_num = 1
#通過當前頁數,獲得當前頁的物件列表(返回給前台迭代顯示物件)
current_page = paginator.page(current_page_num)
current_page.has_previous()
current_page.previous_page_number()
current_page.has_next()
current_page.next_page_number()
1.後台
from django.core.paginator import paginator
def index(request):
#獲取圖書物件
book_list = book.objects.all()
#生成分頁器物件
paginator = paginator(book_list,10)
#獲取頁碼範圍,以便前台產生分頁個數
page_range = paginator.page_range
#從前台獲取當前頁數,如果是第一次訪問就返回第一頁
try:
current_page_num = int(request.get.get('page',1))
except:
current_page_num =1
#通過當前頁數,獲得current_page,可迭代獲得當前頁所有物件
current_page = paginator.page(current_page_num)
return render(request,'index.html',locals())
前台圖書名稱
圖書**
#僅展示當前頁數的所有物件
}}
#如果不存在不進行操作
#通過頁數生成分頁項
}
當物件個數過多,分的頁數過多時,需要將分頁器優化,不然會顯示一大堆的分頁
設計要求:
除了首末頁,只顯示選中頁數,前5頁和後5頁
前台:
圖書名稱
圖書**
}}
後台:
def index(request):
book_list = book.objects.all()
paginator = paginator(book_list,6)
count = paginator.count
num_pages = paginator.num_pages
page_range = paginator.page_range
try:
current_page_num = int(request.get.get('page',1))
except:
current_page_num =1
current_page = paginator.page(current_page_num)
if num_pages > 13:
if current_page_num <7 :
page_range = range(2,12)
elif current_page_num +6 > num_pages:
page_range = range(num_pages-10,num_pages)
else:
page_range = range(current_page_num-5,current_page_num+6)
else:
page_range = range(2,13)
return render(request,'index.html',locals())
Python學習第163天(分頁初步實現)
先說一下自行實現分頁是如何進行的 然後是關於django自帶的分頁內容,這裡主要集中了兩個類,分別是paginator page paginator可以通過內建的page方法生成page物件,反之page類也可以這樣操作 from django.shortcuts import render fro...
Django第七天(admin,分頁器,)
一 admin後台管理 1.建立超級使用者 python manage.py createsuperuser 3.在應用中編寫模型類,並遷移 同步 至資料庫。4.在該應用admin.py中註冊模型 使admin後台能對該應用的模型進行管理 admin.site.register 模型類,二 分頁器 ...
Django元件 分頁器
批量匯入資料 booklist for i in range 100 book.objects.bulk create booklist 分頁器的使用 book list book.objects.all paginator paginator book list,10 print count pa...