分頁器**如下》
class pagination(object):
definit(self, current_page, all_count, per_page_num=10, pager_count=11):
"""封裝分頁相關資料
:param current_page: 當前頁
:param all_count: 資料庫中的資料總條數
:param per_page_num: 每頁顯示的資料條數
:param pager_count: 最多顯示的頁碼個數
"""try:
current_page = int(current_page)
except exception as e:
current_page = 1
if current_page < 1:
current_page = 1
self.current_page = current_page
self.all_count = all_count
self.per_page_num = per_page_num
# 總頁碼
all_pager, tmp = divmod(all_count, per_page_num)
if tmp:
all_pager += 1
self.all_pager = all_pager
self.pager_count = pager_count
self.pager_count_half = int((pager_count - 1) / 2)
@property
def start(self):
return (self.current_page - 1) * self.per_page_num
@property
def end(self):
return self.current_page * self.per_page_num
def page_html(self):
# 如果總頁碼 < 11個:
if self.all_pager <= self.pager_count:
pager_start = 1
pager_end = self.all_pager + 1
# 總頁碼 > 11
else:
# 當前頁如果<=頁面上最多顯示11/2個頁碼
if self.current_page <= self.pager_count_half:
pager_start = 1
pager_end = self.pager_count + 1
# 當前頁大於5
else:
# 頁碼翻到最後
if (self.current_page + self.pager_count_half) > self.all_pager:
pager_end = self.all_pager + 1
pager_start = self.all_pager - self.pager_count + 1
else:
pager_start = self.current_page - self.pager_count_half
pager_end = self.current_page + self.pager_count_half + 1
page_html_list =
# 新增前面的n**和ul標籤
'''')
return ''.join(page_html_list)
使用方法:
1.先建立乙個utils資料夾
2.建立乙個mypage的py檔案
3.匯入模組from utils.mypage import pagination,找到檢視函式要分頁的文章輸入**
page_obj = pagination(current_page=request.get.get('page', 1), all_count=article_list.count(), per_page_num=2)
page_queryset = article_list[page_obj.start:page_obj.end]
4.在html中輸入},然後迴圈的物件為page_queryset
web開發中分頁的用法詳情
1.匯入分頁paginator模組 from django.core.paginator import paginator2.在檢視中寫入 page count 1 設定每頁顯示資料條數 獲取當前頁 p 預設頁為1 current page int request.get.get p 1 獲取資料 ...
jedis的使用詳情
redis安裝 ubuntu中安裝redis,ubuntu本身就自帶了redis的版本,如果想要別的版本的redis,也可以 相應版本然後安裝.我是在虛擬機器中安裝了ubuntu.在 ubuntu 系統安裝 redis 可以使用以下命令 sudo apt get update sudo apt ge...
Linux crontab使用詳情
基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第5列標識號星期0 6 0表示星期天 第6列要執行的命令 crontab檔案的一些例子 上面的例子表示每晚的21 3...