国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python flask實現分頁的示例代碼

2020-01-04 14:51:55
字體:
來源:轉載
供稿:網友

結合mysql數據庫查詢,實現分頁效果

@user.route("/user_list",methods=['POST','GET'])def user_list():  p = g.args.get("p", '') #頁數  show_shouye_status = 0 #顯示首頁狀態(tài)  if p =='':    p=1  else:    p=int(p)    if p > 1:      show_shouye_status = 1  mdb = db_session()  limit_start = (int(p)-1)*10#起始  sql ="select * from page_text limit {0},10".format(limit_start)  user_list=mdb.getMany(sql)  sql="select count(id) as total from page_text"  count = mdb.getOne(sql)['total'] #總記錄  total = int(math.ceil(count/10.0)) #總頁數  dic = get_page(total,p)  datas={    'user_list':user_list,    'p': int(p),    'total': total,    'show_shouye_status': show_shouye_status,    'dic_list': dic  }  return render_template("user_list.html",datas=datas)

其中get_page為封裝的方法:

def get_page(total,p):  show_page = 5  # 顯示的頁碼數  pageoffset = 2 # 偏移量  start = 1  #分頁條開始  end = total #分頁條結束  if total > show_page:    if p > pageoffset:      start = p - pageoffset      if total > p + pageoffset:        end = p + pageoffset      else:        end = total    else:      start = 1      if total > show_page:        end = show_page      else:        end = total    if p + pageoffset > total:      start = start - (p + pageoffset - end)  #用于模版中循環(huán)  dic = range(start, end + 1)  return dic

如果這里需要進行前端模板的拼接的話,可以需要以下代碼(bootstrap)

<ul class="pagination">    {% if datas.show_shouye_status==1%}      <li class=''><a href='/user/user_list?p=1'>首頁</a></li>      <li class=''><a href='/user/user_list?p={{datas.p-1}}'>上一頁</a></li>   {%endif%}    {% for dic in datas.dic_list %}      {% if dic==datas.p%}       <li class="active"><a href="/user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li>      {%else%}        <li><a href="/user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li>      {%endif%}    {%endfor%}    {% if datas.p < datas.total%}      <li class=''><a href='/user/user_list?p={{datas.p+1}}'>下一頁</a></li>      <li class=''><a href='/user/user_list?p={{datas.total}}'>尾頁</a></li>    {%endif%}      共{{datas.total}}頁 </ul>

如果是返回給APP端的話,直接返回data數據就可以了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新泰市| 和龙市| 牟定县| 九台市| 贡山| 陵川县| 阳新县| 阿鲁科尔沁旗| 丰原市| 兰西县| 连州市| 无为县| 洛阳市| 鹿邑县| 富顺县| 遵义县| 永平县| 黑水县| 安阳县| 庄浪县| 眉山市| 都安| 绥宁县| 特克斯县| 大宁县| 恭城| 云林县| 开鲁县| 朔州市| 沛县| 兴业县| 沿河| 景洪市| 油尖旺区| 五大连池市| 海阳市| 东乡县| 巴东县| 衡水市| 宜都市| 萝北县|