Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法詳解
本文實(shí)例講述了Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法。分享給大家供大家參考,具體如下:
使用django的第三方模塊django-pure-pagination
安裝模塊:
pip install django-pure-pagination
將'pure_pagination'添加到settings.py文件中
INSTALLED_APPS = ( ... 'pure_pagination', )
在view.py文件中
from django.shortcuts import render rom .models import mymodel from pure_pagination import Paginator, EmptyPage, PageNotAnInteger def NewsList(request): all_news = mymodel.objects.all().order_by('-add_time') # 分頁(yè)功能 try: page = request.GET.get('page', 1) except PageNotAnInteger: page = 1 p = Paginator(all_news, 3, request=request) news = p.page(page) return render(request, 'rdxw.html', {'all_news': news})
在template.py文件中調(diào)用view傳遞的參數(shù)'all_news'需要加上'.object_list'
{% extends 'base.html' %} {% block content %} <ul> {% for new in all_news.object_list %} <li>{{new.content}}</li> {% endblock %} </ul>
實(shí)現(xiàn)翻頁(yè)的部分:
<div class="pageturn"> <ul class="pagelist"> {% if all_news.has_previous %} <li class="long"><a href="?{{ all_news.previous_page_number.querystring }}" rel="external nofollow" >上一頁(yè)</a></li> {% endif %} {% for page in all_news.pages %} {% if page %} {% ifequal page all_news.number %} <li class="active"><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" >{{ page }}</a></li> {% else %} <li><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" class="page">{{ page }}</a></li> {% endifequal %} {% else %} <li class="none"><a href="">...</a></li> {% endif %} {% endfor %} {% if all_news.has_next %} <li class="long"><a href="?{{ all_news.next_page_number.querystring }}" rel="external nofollow" >下一頁(yè)</a></li> {% endif %} </ul> </div>
樣式較文檔提供的簡(jiǎn)化了很多,方便使用。
.pageturn .pagelist { display: table-cell; vertical-align: middle; overflow: hidden; } .pageturn li { width: 30px; height: 30px; line-height: 30px; margin-left: 10px; float: left; text-align: center; } .pageturn li:first-child { margin-left: 0; } .pageturn li:hover a, .pageturn .active a { background: #717171; color: #fff; border-color: #eaeaea; } .pageturn a { border: 1px solid #eaeaea; display: block; height: 28px; color: #6c6c6c; } .pageturn .long { width: 100px; } .pageturn .none a { border: 0; } .pageright { float: right; width: auto; display: inline; clear: none; margin-top: 10px; }
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- django實(shí)現(xiàn)分頁(yè)的方法
- Python Django實(shí)現(xiàn)layui風(fēng)格+django分頁(yè)功能的例子
- Django分頁(yè)查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法)
- Django實(shí)現(xiàn)快速分頁(yè)的方法實(shí)例
- Django實(shí)現(xiàn)分頁(yè)功能
- Django自定義分頁(yè)與bootstrap分頁(yè)結(jié)合
- Django原生sql也能使用Paginator分頁(yè)的示例代碼
- Django實(shí)現(xiàn)網(wǎng)頁(yè)分頁(yè)功能
- Django框架實(shí)現(xiàn)分頁(yè)顯示內(nèi)容的方法詳解
- Django實(shí)現(xiàn)簡(jiǎn)單的分頁(yè)功能
相關(guān)文章
Python對(duì)象循環(huán)引用垃圾回收算法詳情
這篇文章主要介紹了Python對(duì)象循環(huán)引用垃圾回收算法詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09在Python中處理字符串之ljust()方法的使用簡(jiǎn)介
這篇文章主要介紹了在Python中處理字符串之ljust()方法的使用,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05PyTorch一小時(shí)掌握之遷移學(xué)習(xí)篇
這篇文章主要介紹了PyTorch一小時(shí)掌握之遷移學(xué)習(xí)篇,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09僅用幾行Python代碼就能復(fù)制她的U盤(pán)文件?
上大學(xué)的時(shí)候有老師不給上課的PPT,就總想有個(gè)程序能偷偷復(fù)制老師的U盤(pán)一直沒(méi)有去實(shí)現(xiàn),最近不想看論文就想起來(lái)這個(gè)事情了,發(fā)現(xiàn)其實(shí)用幾行python代碼就能搞定.分兩步,首先寫(xiě)出來(lái)python代碼,其次把.py文件轉(zhuǎn)換成exe文件,直接在windows電腦上后臺(tái)運(yùn)行,需要的朋友可以參考下2021-06-06Python如何操作docker redis過(guò)程解析
這篇文章主要介紹了Python如何操作docker redis過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Python?Cloudinary實(shí)現(xiàn)圖像和視頻上傳詳解
這篇文章主要介紹了Python?Cloudinary實(shí)現(xiàn)圖像和視頻上傳功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-11-11