码迷,mamicode.com
首页 > 其他好文 > 详细

django分页使用方法

时间:2015-03-13 14:38:31      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:数据库   后台   分页   django   

   当我们从后台数据库读取数据,出现太多的时候会很难看,这个时候就要用到分页功能,django带有的分页模块非常好用,这几天在研究,今天跟大家分享一下直接启动代码:

[root@mail oms]# ./manage.py shell      #启动后台

>>> from django.core.paginator import Paginator    导入模块
>>> objects = [‘xiaoluo‘,‘test‘,‘huihui‘,‘xiaoxiao‘]    #开始定义一个列表
>>> p = Paginator(objects,2)          #objects以2为分割单位
>>> p.count                          #统计总共多少行
4
>>> p.num_pages                     #统计总共的页数
2
>>> p.page_range                    #序号
[1, 2]
>>> page1 = p.page(1)               #第一页序号
>>> page1
<Page 1 of 2>

>>> page1.object_list              #详细信息
[‘xiaoluo‘, ‘test‘]
>>> page1.has_next()              #是否有下一页
True
>>> page1.has_previous()          #是否有上一页
False

>>> page2= p.page(2)             #打印第二页
>>> page2.object_list
[‘huihui‘, ‘xiaoxiao‘]

>>> page2.previous_page_number()   #上一页的页面号数
1

>>> page1.next_page_number()       #下一页
2

>>> page1.start_index()          #这一页开始的序号
1
>>> page1.end_index()  
2


实例:下面是一段后台views的代码:

def server_asset_list(request):
        server_asse = ServerAsset.objects.all()
        paginator = Paginator(server_asse,10)
        try:
            page = int(request.GET.get(‘page‘,‘1‘))
        except ValueError:
            page = 1
        try:
            server_asse = paginator.page(page)
        except (EmptyPage,InvalidPage):
            server_asse = paginator.page(paginator.num_pages)
        return render_to_response(‘server_asset_list.html‘,{‘server_asse‘:server_asse})
页面html模板:
 {%if server_asse.has_previous%}
 <a href="?page={{ server_asse.previous_page_number }}">上一页</a>
 {%endif%}
    <span class="current">
 第{{ server_asse.number }}页,共{{ server_asse.paginator.num_pages }}页</span> 
 {%if server_asse.has_next %}
 <a href="?page={{ server_asse.next_page_number }}">下一页</a>
 {%endif%}

页面效果展示:

技术分享

本文出自 “小罗” 博客,请务必保留此出处http://xiaoluoge.blog.51cto.com/9141967/1620010

django分页使用方法

标签:数据库   后台   分页   django   

原文地址:http://xiaoluoge.blog.51cto.com/9141967/1620010

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!