咸鱼笔记—分页

咸鱼笔记—分页


新手刚接触python,跟着教程学的,仅供参考。欢迎各路大神指点。

学习版本: Django 1.8. Python 3.5

分页

例子:查询出所有省级地区的信息,显示在页面上。

AeroInfo.objects.filter(aParent__isnull = True)

1)查询出所有省级地区的信息。
2)按每页显示10条信息进行分页,默认显示第一页的信息,下面并显示出页码。
3)点击i页链接的时候,就显示第i页的省级地区信息。
from django.core.paginator import Paginator
paginator = Paginator(areas, 10) #按每页10条数据进行分页
在这里插入图片描述

Paginator类对象的属性:

属性名 说明
num_pages 返回分页之后的总页数
page_range 返回分页后页码的列表

Paginator类对象的方法:

方法名 说明
page(self, number) 返回第number页的Page类实例对象

Page类对象的属性:

属性名 说明
number 返回当前页的页码
object_list 返回包含当前页的数据的查询集
paginator 返回对应的Paginator类对象

Page类对象的方法:

属性名 说明
has_previous 判断当前页是否有前一页
has_next 判断当前页是否有下一页
previous_page_number 返回前一页的页码
next_page_number 返回下一页的页码

使用:

<ul>
    {% for area in page %}
        <li>{{ area.atitle }}</li>
    {% endfor %}
</ul>
{% if page.has_previous %}
    <a href="/show_area{{ page.previous_page_number}}">&lt;上一页</a>
{% endif %}
{% for pindex in page.paginator.page_range %}
    {% if pindex == page.number %}
        {{ pindex}}
    {% else %}
        <a href="/show_area{{ pindex }}">{{ pindex }}</a>
    {%endif%}
{% endfor %}
{% if page.has_next %}
    <a href="/show_area{{ page.next_page_number}}">&gt;下一页</a>
{% endif %}

效果如下
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45020839/article/details/90901069