分页,在做WEB开发的时候一定会遇到的,可是webpy却没有内置的分布类,只有自己动手写一个简单的分页类。本文,就以webpy(实际只是python的功能)为便,实现一个简单的分页类…
如何分页
以前,经常将分页与DB混在一起,比如以下的PHP代码:
<?php$page = get_current_page();$start = $page*$step;$article_list = $db->all('select * from `xxx` limit $start,$step;');$total = $db->get('select count(*) as `total` form `xxx`;');//...pagination...
这样的分页明显是不科学的。
分页应该注意的事项
- 分页类不应与混淆在一起
- 分页类不应与界面混淆在一起
- 分页类应该独立,在任何情况下都可以使用
为了满足以上的三个条件,就设计了一个简单的分页类(只做示例,应用到项目需要优化代码和严格的检查)
分页类
分页类代码
class ProbbsPage: def __init__(self, total, per = 10): self.total = total self.per = per self.url = '' self.page = 1 def set_url(self,url): self.url = url return self def set_page(self,page): self.page = int(page) return self def show(self): if self.total%self.per == 0: pages = self.total/self.per else: pages = self.total/self.per+1 if self.page < 6: limit_s = 1 else: limit_s = self.page if pages < (limit_s+10): limit_e = pages else: limit_e = limit_s+10 pagination = '<span>%s/%s pages </span>'%(self.page,pages) for i in range(limit_s,limit_e+1): if i == self.page: pagination += '<a class="cur" href="javascript:void(0);">%s</a>'%(i,) else: pagination += '<a href="%s">%s</a>'%(self.url%i,i) return pagination
分页类调用示例
pagination =ProbbsPage(总页数,每页数)url = 'your_page?page=%s';page_html = pagination.set_url(url).set_page(page).show()print page_html#就可以显示出#<span>当前页/共几页</span>#<a>页页链接</a>
分类页可以优化的地方
set_url可以自动根据url进行提取,前提是使用“?页面参数=第几页”等常用的形成(像我使用专门的不期然形式就不可以了)
set_page同上,可以自动从url中上提取
如果做到以上的两步,就可以直接 ProbbsPage(总页数,每页数).show()就可以了,相对来说比较方便
文章来源:http://pjiaxu.com/python/48.html
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
波比源码 » webpy实现分页功能的方法
波比源码 » webpy实现分页功能的方法
levofloxacin over the counter levofloxacin order
buy avodart without prescription order celecoxib order ondansetron for sale
cheap spironolactone 100mg propecia 1mg cheap diflucan pills
ampicillin 500mg cost buy cephalexin without prescription order erythromycin 500mg without prescription
buy sildenafil pill purchase robaxin without prescription robaxin uk
suhagra for sale online order aurogra 50mg generic order estrace generic
cheap lamictal 200mg buy mebendazole 100mg online cheap retin cream uk
buy generic tadalafil 10mg voltaren drug voltaren without prescription
order indomethacin 50mg without prescription buy lamisil 250mg pill order amoxicillin 250mg
order anastrozole 1mg online cheap anastrozole buy online sildenafil 100mg over the counter
tadalafil 40mg sans ordonnance vrai sildenafil 25mg prix acheter 200mg du sildenafil
prednisone oral canadian pharmacy cialis pfizer order sildenafil 50mg
tadalafil für männer viagra 200mg für frauen viagra generika rezeptfrei kaufen
buy isotretinoin 40mg for sale order stromectol 12mg pills stromectol 6 mg
provigil cost diamox order acetazolamide 250mg cost
altace order buy clobetasol for sale oral azelastine 10ml
buy clonidine 0.1 mg generic order antivert 25 mg online cheap buy spiriva 9mcg online
hytrin 5mg brand cheap arava azulfidine canada
purchase alendronate online cheap order panadol 500mg pill famotidine 20mg price
buy prograf online brand trandate 100mg ursodiol 300mg us
order bupropion online cheap order generic cetirizine 5mg buy seroquel 50mg pills
purchase molnupiravir for sale prevacid 30mg usa purchase lansoprazole generic
cialis cost order tadalafil 5mg for sale order sildenafil 50mg sale
dapsone 100mg for sale adalat order online buy perindopril 4mg generic
provera 5mg oral order microzide 25 mg for sale oral cyproheptadine
isotretinoin tablet accutane 40mg for sale buy prednisone 20mg pills
cialis from india generic cialis india sildenafil sale
furosemide for sale online lasix 100mg cost order hydroxychloroquine 200mg pill
tadalafil 10mg generic clomipramine order online order clomipramine generic
purchase metformin pills generic glycomet tadalafil 20mg tablet
olanzapine generic purchase zyprexa generic oral diovan
brand norvasc 10mg buy sildenafil generic tadalafil 10mg generic
buy zyvox for sale poker online for money online casino games
prilosec oral custom written papers gamble poker online
metoprolol order online vardenafil 20mg tablet buy vardenafil 20mg for sale
buying a term paper free casino casino online
purchase levitra online order pregabalin 150mg methylprednisolone 4mg without prescription
letter writing services buy sildenafil 100mg online viagra us
clomiphene 100mg for sale purchase ventolin inhalator online cheap poker online games
tadalafil 10mg pill cost of cialis viagra buy online
aristocort 10mg tablet purchase aristocort online cheap buy clarinex 5mg without prescription
order generic dapoxetine 90mg synthroid without prescription purchase levothyroxine sale
xenical 120mg uk oral diltiazem 180mg order zovirax 800mg online cheap
zyloprim 100mg ca cheap allopurinol 300mg ezetimibe for sale online
buy methotrexate pill buy metoclopramide 20mg sale buy metoclopramide 10mg pill
buy baclofen 10mg pill oral tizanidine 2mg toradol for sale online
purchase colchicine generic best online casino real money casino gambling
real money casino app best online casino real money casinos online
order flomax 0.2mg online cheap order tamsulosin 0.4mg pills order spironolactone 25mg generic
price cialis buy cipro 1000mg pill cipro 1000mg for sale
simvastatin pills order zocor 20mg generic buy finasteride 5mg sale
buy metronidazole 200mg pill order generic bactrim 960mg bactrim pills
keflex over the counter erythromycin 500mg for sale buy erythromycin 500mg pills
tadalafil 10mg uk buy cialis 20mg rx pharmacy online viagra
sildenafil otc viagra pills cost of cialis
best online casino real money roulette game tadalafil medication
trazodone 100mg us trazodone 50mg cheap aurogra 100mg cheap
do my research paper buy stromectol 3mg without prescription stromectol for humans for sale
deltasone cheap buy accutane 40mg without prescription amoxil 250mg ca
buy viagra 100mg sale canadian viagra tadalafil women
purchase zithromax online azithromycin online buy order neurontin 600mg for sale
gambling meaning blackjack free purchase provigil online
furosemide 40mg cost purchase hydroxychloroquine plaquenil cheap
oral fildena buy sildenafil generic budesonide allergy spray