python web框架中使用原生分頁

2022-10-03 18:42:12 字數 1877 閱讀 9237

原生分頁器 示例   

#!/usr/bin/env python

# -*- coding:utf-8 -*-

class pagination:

def __init__(self, p, all_count, pre=10, max_show=11):

''':param p: 當前頁碼

:param all_count: 資料總條數

:param pre: 每頁資料量rojsbeq

:param max_show: 最多頁碼數

'''try:

self.p = int(p) # 傳進來的頁碼

if self.p <= 0:

self.p = 1

except exception as e:

self.p = 1

# 總量

# all_count = all_count

# pre = per # 每頁資料條數

total_num, more = divmod(all_count, pre)

if more:

total_num += 1 # total_num總資料頁數

# 顯示頁碼數

max_show = max_show

if total_num <= max_show: # 總資料量很小

page_start = 1

page_end = total_num

else:

if self.p - max_show // 2 <= 0: # 防止左邊出現0頁

page_start = 1

page_end = max_show

elif self.p + max_show // 2 >= total_num + 1: # 防止右邊出現超出

page_end = total_num

page_start = page_end - max_show

else:

page_start = self.p - max_show // 2

page_end = self.p + max_show // 2

# 資料的起始結束

self.start = (self.p - 1) * pre

self.end = self.p * pre

# 頁程式設計客棧碼

self.page_start = page_start

self.page_end = page_end

self.total_num = total_num

@property

def page_html(self):

li_www.cppcns.comlist =

for i inrojsbeq range(self.page_start, self.page_end + 1):

if i == self.p:

li_list.append(''.format(i, i))

else:

li_list.append(''.format(i, i))

# 新增頁首 頁尾

li_list.insert(0,

''.format(

self.p - 1))

li_list.append(

''.format(self.p + 1))

if self.p == 1:

li_list[0] = ''

elif self.p == self.total_num:

li_list[-1] = ''

pagehtml = ''.join(li_list)

return pagehtml

本文標題: python web框架中使用原生分頁

本文位址:

python web開發框架

django python web應用開發框架 django 應該是最出名的python框架,gae甚至erlang都有框架受它影響。django是走大而全的方向,它最出名的是其全自動化的管理後台 只需要使用起orm,做簡單的物件定義,它就能自動生成資料庫結構 以及全功能的管理後台。diesel 基...

python web框架 推薦

flask 很輕,花很少的成本就能夠開發乙個簡單的 非常適合初學者學習。學會以後,可以考慮學習外掛程式的使用,用 sqlalchemy flask sqlalchemy 來對你的資料庫進行控制。django全能型框架 但是不建議初學者學習,因為要學習的東西太多了,一下子難以吸收會失去興趣。當然,dj...

Python Web開發框架

python中的web框架 flask例程 可重用成熟,穩健 可擴充套件性良好 提高開發速度 web框架中的概念 大包大攬的django 優點 完美文件。全套解決方案 cache,session,orm 強大的url路由配置 自助管理後台 缺點 系統緊耦合 自帶的orm不夠強大 template比較...