ページテンプレート:
クラスページネーション(オブジェクト): DEF __init__(セルフ、CURRENT_PAGE、ALL_COUNTあり、per_page_num = 2、pager_count = 11。 ): "" " パッケージ]タブのデータ :のparam CURRENT_PAGE:このページ :のparam all_count:データベース内のストライプの総数 :PARAMページ当たりのデータ数が表示されますper_page_num :PARAM pager_count:表示されたページ数までの 使用: クエリセット= model.objects.all() page_obj =ページ区切り(CURRENT_PAGE、ALL_COUNTある) page_data =クエリセット[page_obj.start:page_obj.end] データを取得する代わりに、元のpage_dataを使用すると、クエリセット page_obj.page_htmlとフロントタブのスタイルを取得 "「」 試してみる: CURRENT_PAGE =INT(CURRENT_PAGE) 以外Eとして例外: CURRENT_PAGE = 1 であれば 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) 場合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 スタート(セルフ): リターン(。self.current_page - 1)* self.per_page_num @Property DEF エンド(自己): 戻り self.current_page * self.per_page_num DEFのpage_html(セルフ): #もし総P <11: IF self.all_pager <= self.pager_count: pager_start。= 1 pager_end。= self.all_pager 1 + #総P> 11。 他: #このページのアップの場合<=ページページ番号を表示する11月2日 もし <= self.current_page :self.pager_count_half pager_start = 1 pager_end = self.pager_count + 1 #当前页大于5 他: #页码翻到最后場合(self.current_page + self.pager_count_half)> self.all_pager: pager_end =自己.all_pager + 1 pager_start = self.all_pager - self.pager_count + 1 他: pager_start = self.current_page - self.pager_count_half pager_end = self.current_page + self.pager_count_half + 1 page_html_list = [] #添加前面的NAV和UL标签 page_html_list.append(''」 <NAV ARIA-ラベル= 'ページナビゲーション>' <ULクラスは、= 'ページネーション'> '' ' ) FIRST_PAGE = ' <LI> <a href="?page=%s">首页</a>に</ LI> '%(1 ) page_html_list.append(FIRST_PAGE) 場合 self.current_page <= 1 : PREV_PAGE = 「<LIクラス= "無効"> <HREF =」#「>前の</a>の</ LI> 「 他: PREV_PAGE= ' <LI> <a href="?page=%s">上一页</a>に</ LI> '%(self.current_page - 1 ) page_html_list.append(PREV_PAGE) 用 I における範囲(pager_start 、pager_end): もし I == self.current_page: TEMP = ' <LIクラス= "アクティブ"> <a href="?page=%s">%S </a>の</ LI> '%(I、 I、) それ以外: 温度 = ' <LI> <a href="?page=%s">%sの</a>の</ LI> '%(I、I、) page_html_list.append(TEMP) 場合self.current_page> = self.all_pager: にnext_page = ' <LIクラス= "無効"> <a href="#">下一页する</a>ます。</ li> ' 他: にnext_page = " <LI> <A HREF = "?ページ=%S">下一页</a>の</ LI> '%(self.current_page + 1 ) page_html_list.append(にnext_page) LAST_PAGE = ' <LI> <HREF = "?ページ=%S ">尾页</a>の</ LI> '%(self.all_pager) page_html_list.append(LAST_PAGE) #尾部添加标签 page_html_list。(アペンド''」 </ NAV> </ UL> ''」) リターン '' .join(page_html_list)