Django 内置分页的简单使用

本文详细介绍了如何在Django项目中实现图片数据的分页显示,包括视图中使用Django自带的Paginator类进行数据分页,以及在HTML模板中展示分页数据和导航链接。
1, 文档
https://docs.djangoproject.com/en/1.11.1/topics/pagination/ 
2,视图
 
  
  from django.core.paginator import Paginator,EmptyPage, PageNotAnInteger

   picture_list = Picture.objects.all().only("avatar") # 使用django 自带分页 # contact_list = Contacts.objects.all() paginator = Paginator(picture_list, 12) # 每一页的数据个数 page = request.GET.get('page') try: picture_data = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. picture_data = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. picture_data = paginator.page(paginator.num_pages) return render(request,"picture.html",{"picture_data":picture_data})
3,html
{% for picture in picture_data %}
    {# Each "contact" is a Contact model object. #}
            <a href="{{ picture.avatar }}"><img src="{{ picture.avatar }}" alt="error" title="原图" height="420px" width="310px"></a>
{% endfor %}

<div class="pagination">
    <span class="step-links">
        {% if picture_data.has_previous %}
            <a href="?page=1">首页</a>
            <a href="?page={{ picture_data.previous_page_number }}">上一页</a>
        {% endif %}

        {% if picture_data.has_next %}
            <a href="?page={{ picture_data.next_page_number }}">下一页</a>
            <a href="?page={{ picture_data.paginator.num_pages }}">尾页</a>
        {% endif %}

        <span class="current">
            第{{ picture_data.number }}页 ,一共 {{ picture_data.paginator.num_pages }} 页.
        </span>
    </span>
</div>

 

 


转载于:https://www.cnblogs.com/glf1160/p/10517216.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值