gpt4 book ai didi

Django实现简单分页功能的方法详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Django实现简单分页功能的方法详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下:

使用django的第三方模块django-pure-pagination 。

安装模块:

?
1
pip install django - pure - pagination

将'pure_pagination'添加到settings.py文件中 。

?
1
2
3
4
INSTALLED_APPS = (
   ...
   'pure_pagination' ,
)

在view.py文件中 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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文件中调用view传递的参数'all_news'需要加上'.object_list' 。

?
1
2
3
4
5
6
7
{ % extends 'base.html' % }
{ % block content % }
<ul>
{ % for new in all_news.object_list % }
   <li>{{new.content}}< / li>
{ % endblock % }
< / ul>

实现翻页的部分:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<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>

样式较文档提供的简化了很多,方便使用.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
.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 ;
}

希望本文所述对大家Python程序设计有所帮助.

原文链接:http://www.cnblogs.com/thunderLL/p/6962786.html 。

最后此篇关于Django实现简单分页功能的方法详解的文章就讲到这里了,如果你想了解更多关于Django实现简单分页功能的方法详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com