日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

django 分页 带搜索框

發布時間:2024/1/1 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django 分页 带搜索框 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from django.utils.safestring import mark_safe""" 自定義的分頁組件def pretty_list(request):from app01.utils.pagination import Pagination# 1.根據自己的情況去篩選自己的數據queryset = models.PrettyNum.objects.filter(**data_dict).order_by("-level")# 2.實例化分頁對象page_object = Pagination(request, queryset)context = {"search_data": search_data,"queryset": page_object.page_queryset, # 分完頁的數據"page_string": page_object.html() # 頁碼}return render(request, "pretty_list.html", context) # 在html中<ul class="pagination">{{ page_string }}</ul> """class Pagination(object):def __init__(self, request, queryset, page_size=10, page_param="page", plus=5):""":param request: 請求的對象:param queryset: 查詢符合條件的數據,根據這個數據對他進行分頁處理:param page_size: 每頁顯示多少條數據:param page_param: 在url中傳遞的獲取分頁的參數 例如: /pretty/list/?page=12:param plus: 顯示當前頁的前后幾頁(頁碼)"""from django.http.request import QueryDictimport copyquery_dict = copy.deepcopy(request.GET)query_dict._mutable = Trueself.query_dict = query_dictpage = request.GET.get(page_param, "1")if page.isdecimal():page = int(page)else:page = 1self.page = pageself.page_param = page_paramself.page_size = page_sizeself.start = (self.page - 1) * self.page_sizeself.end = self.page * self.page_sizeself.page_queryset = queryset[self.start: self.end]self.plus = plus# 數據總條數total_count = queryset.count()# 計算總頁碼數total_page_count, div = divmod(total_count, page_size) # divmod 除法 第二個是余數if div > 1:total_page_count += 1if total_page_count != 0:self.total_page_count = total_page_countelse:self.total_page_count = 1def html(self):# 計算出當前頁的前5頁, 后5頁plus = 5if self.total_page_count < 2 * self.plus + 1:# 數據庫中數據比較少,都沒有達到11頁start_page = 1end_page = self.total_page_countelse:# 數據庫中數據比較多 > 11頁# 當前頁小于5時(小極值)if self.page <= self.plus:start_page = 1end_page = 2 * self.plus + 1else:# 當前頁大于5# 當前頁+5 > 總頁面if (self.page + 5) > self.total_page_count:start_page = self.total_page_count - 2 * self.plusend_page = self.total_page_countelse:start_page = self.page - self.plusend_page = self.page + self.plus# 頁碼page_str_list = []self.query_dict.setlist(self.page_param, [1])page_str_list.append('<li><a href="?{}">首頁</a></li>'.format(self.query_dict.urlencode()))# 上一頁if self.page > 1:self.query_dict.setlist(self.page_param, [self.page - 1])prey = '<li><a href="?{}">上一頁</a></li>'.format(self.query_dict.urlencode())else:self.query_dict.setlist(self.page_param, [1])prey = '<li><a href="?{}">上一頁</a></li>'.format(self.query_dict.urlencode())page_str_list.append(prey)for i in range(start_page, end_page + 1):if i == self.page:self.query_dict.setlist(self.page_param, [i])ele = '<li class="active"><a href="?{}">{}</a></li>'.format(self.query_dict.urlencode(), i)else:self.query_dict.setlist(self.page_param, [i])ele = '<li><a href="?{}">{}</a></li>'.format(self.query_dict.urlencode(), i)page_str_list.append(ele)# 下一頁if self.page < self.total_page_count:self.query_dict.setlist(self.page_param, [self.page + 1])prey = '<li><a href="?{}">下一頁</a></li>'.format(self.query_dict.urlencode())else:self.query_dict.setlist(self.page_param, [self.total_page_count])prey = '<li><a href="?{}">下一頁</a></li>'.format(self.query_dict.urlencode())page_str_list.append(prey)# 尾頁self.query_dict.setlist(self.page_param, [self.total_page_count])page_str_list.append('<li><a href="?{}">尾頁</a></li>'.format(self.query_dict.urlencode()))search_string = """<li><form style="float: left; margin-left: -1px" method="get"><input type="text" name='page' style="position: relative;float: left;display: inline-block;width: 80px;border-radius: 0"class="form-control" placeholder="頁碼"><button style="border-radius: 0" class="btn btn-default" type="submit">跳轉</button></form></li>"""page_str_list.append(search_string)page_string = mark_safe("".join(page_str_list))return page_string

總結

以上是生活随笔為你收集整理的django 分页 带搜索框的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲av鲁丝一区二区三区 | 猛1被调教成公厕尿便失禁网站 | 水蜜桃色314在线观看 | 深夜福利久久 | 青青在线播放 | 国产欧美第一页 | 激情综合图| 欧美日韩一区二区视频在线观看 | 亚洲丝袜在线视频 | av老司机在线观看 | 亚洲aaa视频 | 91传媒在线免费观看 | 借种(出轨高h) | 国产精品v | 青青青青草 | 人人人妻人人澡人人爽欧美一区 | 毛片99| 亚洲精品人人 | 日韩不卡高清 | 欧亚一区二区 | 麻豆av网站 | 日韩精选视频 | 污污网站在线观看 | 人人入人人| 毛片一区 | 强行挺进白丝老师里呻吟 | 亚洲成熟少妇视频在线观看 | 高h捆绑拘束调教小说 | 抖音视频在线观看 | 日韩黄色短视频 | av电影在线播放 | 久久亚洲一区二区三区四区 | 狠狠欧美| 久草资源在线视频 | 黄色a级片在线观看 | 曰本丰满熟妇xxxx性 | 一级片在线观看视频 | 国产亚洲毛片 | 欧洲三级视频 | 97干干| 麻豆视频网站在线观看 | 大香伊人中文字幕精品 | 精品久久久免费 | 99成人在线视频 | 国产成人综合一区二区三区 | 人妻少妇被粗大爽9797pw | 国产在线拍揄自揄拍无码 | 777免费视频| 成人影片在线播放 | 鲁鲁久久 | 五月婷婷六月丁香 | 一级特黄aa大片免费播放 | 黄色大片网站在线观看 | 欧美午夜一区二区 | 国精产品一区二区三区 | 高清一区二区在线 | 日日干干 | 琪琪色在线视频 | 成人av网址在线观看 | 欧美.www | 日本不卡一二三 | 外国av网站| 香港三级日本三级 | 伊人色爱 | 亚洲女同女同女同女同女同69 | 芭乐视频色 | 久久久久一区二区 | 午夜窝窝 | 深夜视频在线免费观看 | 欧美大片免费 | 天天操天天射天天舔 | 免费午夜人成电影 | 亚洲va国产天堂va久久 en | 欧美视频一区二区在线观看 | 亚洲国产精品网站 | 69视频在线 | 国产乱码精品一区二区三区忘忧草 | 日本精品成人 | 日日射影院 | 色播在线 | 91偷拍一区二区三区精品 | 国产黄色成人 | 久久人爽| 在线免费观看黄 | 精品久久久久久久久久久久久久久久 | 99热香蕉 | 成人av高清 | 色吊妞 | 91精品国产高清91久久久久久 | 手机在线看片你懂的 | 欧美性猛交xxxx偷拍洗澡 | 色先锋资源网 | 一本色道久久综合亚洲精品图片 | 久草这里只有精品 | 久久久久久久国产精品 | 天天夜夜人人 | 香蕉福利视频 | 亚洲一区二区不卡在线观看 | 四虎婷婷 |