Django實(shí)現(xiàn)簡單分頁功能的方法詳解
本文實(shí)例講述了Django實(shí)現(xiàn)簡單分頁功能的方法。分享給大家供大家參考,具體如下:
使用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')
# 分頁功能
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)翻頁的部分:
<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" >上一頁</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" >下一頁</a></li>
{% endif %}
</ul>
</div>
樣式較文檔提供的簡化了很多,方便使用。
.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入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
- django實(shí)現(xiàn)分頁的方法
- Python Django實(shí)現(xiàn)layui風(fēng)格+django分頁功能的例子
- Django分頁查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法)
- Django實(shí)現(xiàn)快速分頁的方法實(shí)例
- Django實(shí)現(xiàn)分頁功能
- Django自定義分頁與bootstrap分頁結(jié)合
- Django原生sql也能使用Paginator分頁的示例代碼
- Django實(shí)現(xiàn)網(wǎng)頁分頁功能
- Django框架實(shí)現(xiàn)分頁顯示內(nèi)容的方法詳解
- Django實(shí)現(xiàn)簡單的分頁功能
相關(guān)文章
Python使用os.listdir()和os.walk()獲取文件路徑與文件下所有目錄的方法
今天小編就為大家分享一篇關(guān)于Python使用os.listdir()和os.walk()獲取文件路徑與文件下所有目錄的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
python3實(shí)現(xiàn)163郵箱SMTP發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)163郵箱SMTP發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
基于python opencv單目相機(jī)標(biāo)定的示例代碼
這篇文章主要介紹了基于python opencv單目相機(jī)標(biāo)定的實(shí)現(xiàn)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
Python的CGIHTTPServer交互實(shí)現(xiàn)詳解
本篇文章主要給大家詳細(xì)分析了Python的CGIHTTPServer交互實(shí)現(xiàn)過程以及相關(guān)代碼分享,有興趣的參考學(xué)習(xí)下。2018-02-02

