zoukankan      html  css  js  c++  java
  • Django分页

    book_list_all=Book.objects.all()
    paginator=Paginator(book_list_all,10)
    book_list=paginator.page(page_num) #第几页数的数据对象
    paginator.page(1).object_list  #第一页图书的数据对象
    paginator.num_pages #最后一页
    paginator.page_range #分页的范围
    book_list.next_page_number #书的下一页
    book_list.previous_page_number #书的上一页
    

      Template:

    {% load staticfiles %}
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="stylesheet" href={% static 'dist/css/bootstrap.css' %}>
        <script src={% static 'dist/js/jquery-3.2.1.js' %}></script>
        <style>
            .active {
                background-color: #2aabd2;
                color:white;
            }
        </style>
    </head>
    <body>
    <div class="container">
        <ul>
            {% for book in book_list %}
                <li>{{ book.title }} {{ book.price }}</li>
            {% endfor %}
        </ul>
    </div>
    <ul class="pagination">
    
            {% if book_list.has_previous %}
                <li class="previous"><a href="/?page={{ book_list.previous_page_number }}">上一页</a></li>
            {% else %}
                <li class="previous disabled"><a href="#">上一页</a></li>
            {% endif %}
    
    
        {% for num in paginator.page_range %}
                <li><a href="/?page={{ num }}">{{ num }}</a></li>
        {% endfor %}
    
    
            {% if book_list.has_next %}
                <li class="next"><a href="{{ book_list.next_page_number }}">下一页</a></li>
            {% else %}
                <li class="next disabled"><a href="#">下一页</a></li>
            {% endif %}
    
    </ul>
    
    </body>
    </html>

      View视图:

    from django.shortcuts import render,HttpResponse
    from app01.models import *
    from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage
    # Create your views here.
    
    def createbook(request):
        # book_list=[]
        # for i in range(100):
        #     book_list.append(Book(title='book%s'%i,price=10+i*i))
        # Book.objects.bulk_create(book_list)
        book_list_all=Book.objects.all()
        paginator=Paginator(book_list_all,10)
        print("第一页数据",paginator.page(1).object_list)
        page_num=request.GET.get("page")
        try:
            book_list=paginator.page(page_num)
        except PageNotAnInteger:
            book_list=paginator.page(1)
        except EmptyPage:
            book_list=paginator.page(paginator.num_pages)
        return render(request,"index.html",locals())
  • 相关阅读:
    UICollectionView的简单使用(一)
    天气预报接口IOS版OC:SmartWeather API中key的计算方法
    IOS下Base64加密
    IOS下DES加密
    IOS的URL中文转码
    CTE Recursion Performance
    走过而立之年的Coder
    iOS多线程编程之锁的理解
    iOS设置PCH文件
    程序员:伤不起的三十岁
  • 原文地址:https://www.cnblogs.com/c491873412/p/7460050.html
Copyright © 2011-2022 走看看