python笔记20181227

django的分页

views.py
from django.shortcuts import render,HttpResponse

#Create your views here.
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

from app01.models import *
def index(request):

    '''
    批量导入数据:

    Booklist=[]
    for i in range(100):
        Booklist.append(Book(title="book"+str(i),price=30+i*i))
    Book.objects.bulk_create(Booklist)

    '''

    book_list=Book.objects.all()

    paginator = Paginator(book_list, 10)
    page = request.GET.get('page',1)
    currentPage=int(page)


    try:
        print(page)
        book_list = paginator.page(page)
    except PageNotAnInteger:
        book_list = paginator.page(1)
    except EmptyPage:
        book_list = paginator.page(paginator.num_pages)


    return render(request,"index.html",locals())
    ```

index.html
{% load staticfiles %}

Title
<link rel="stylesheet" href="{% static 'bootstrap.css' %}">
<h4>分页器</h4>
<ul>

{% for book in book_list %}
     <li>{{ book.title }} {{ book.price }}</li>
{% endfor %}
<ul class="pagination" id="pager">

             {% if book_list.has_previous %}
                <li class="previous"><a href="/blog/?page={{ book_list.previous_page_number }}">上一页</a></li>
             {% else %}
                <li class="previous disabled"><a href="#">上一页</a></li>
             {% endif %}


             {% for num in paginator.page_range %}

                 {% if num == currentPage %}
                   <li class="item active"><a href="/blog/?page={{ num }}">{{ num }}</a></li>
                 {% else %}
                   <li class="item"><a href="/blog/?page={{ num }}">{{ num }}</a></li>

                 {% endif %}
             {% endfor %}



             {% if book_list.has_next %}
                <li class="next"><a href="/blog/?page={{ book_list.next_page_number }}">下一页</a></li>
             {% else %}
                <li class="next disabled"><a href="#">下一页</a></li>
             {% endif %}

        </ul>
```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值