• django分页的东西, 不详细, 但是也足够了。


    视图函数中的代码
    from django.shortcuts import render, HttpResponse, redirect
    import json
    from django.core.paginator import Paginator, EmptyPage
    from ajaxdemo.models import Book
    
    def bool_list(request):
        book_list = Book.objects.all()
        # 分页器 Paginator(要进行分页的数据,每页显示几条数据)
        paginator = Paginator(book_list, 10)  # 得到总的 paginator对象
    
        # print("count:", paginator.count)  # 数据总数
        num_pages = paginator.num_pages  # 总页数
    
        # page_range = paginator.page_range  # 页码的列表
        current_page_num = int(float(request.GET.get("page", 1)))
    
        if num_pages > 11:
            if current_page_num - 5 < 1:
                page_range = range(1, 11)
            elif current_page_num + 5 > num_pages:
                page_range = range(num_pages - 10, num_pages + 1)
            else:
                page_range = range(current_page_num - 5, current_page_num + 6)
        else:
            page_range = paginator.page_range
    
        # 获取浏览器发来的关于页码的信息。 默认显示第一页. int(float())转换一下。防止用户搞个小数过来
        try:
            # 如何取到 某一页的数据
            current_page = paginator.page(current_page_num)  # 第一页的数据,返回一个可迭代页数的对象
            # for i in page:  # 遍历第一页的所有数据
            #     print(i)
            # print(current_page.object_list)  # 获取当前页所有的数据 返回QuerySet对象。包含了当前页的所有book对象
        except EmptyPage as e:  # 捕获用户输入的数字超出或者太小时,默认返回首页
            current_page = paginator.page(1)
    
        return render(request, "ajaxdemo/book_list.html", locals())
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="/static/bootstrap/css/bootstrap.css">
        <script type="text/javascript" src="/static/jquery-3.3.1.js"></script>
        <title>Title</title>
        <style>
            {#.pagination > li{display: none}#}
            .pagination > li show {
                display: inline
            }
        </style>
    </head>
    <body>
    <ul>
        {% for book in current_page %}
            <li>{{ forloop.counter }},{{ book.title }},{{ book.price }}</li>
        {% endfor %}
    </ul>
    <nav aria-label="Page navigation">
        <ul class="pagination">
    {% if current_page.has_previous %}
        <li><a href="?page={{ current_page.previous_page_number }}" aria-label="Previous"><span aria-hidden="true">上一页</span></a></li>
    {% else %}
        <li class="disabled"><a href="" aria-label="Previous"><span aria-hidden="true">上一页</span></a></li>
    {% endif %}
    
    
    {% for page_num in page_range %}
        {% if current_page_num == page_num %}
            <li class="active"><a href="?page={{ page_num }}">{{ page_num }}</a></li>
        {% else %}
            <li><a href="?page={{ page_num }}">{{ page_num }}</a></li>
        {% endif %}
    {% endfor %}
    
    
    {% if current_page.has_next %}
        <li><a href="?page={{ current_page.next_page_number }}" aria-label="Next"><span aria-hidden="true">下一页</span></a></li>
    {% else %}
        <li class="disabled"><a href="" aria-label="Next"><span aria-hidden="true">下一页</span></a></li>
    {% endif %}
        </ul>
    </nav>
    </body>
    </html>
    前端,代码
  • 相关阅读:
    Java Static Import的用法
    Java EE官方文档汇总
    JDK/Java SE官方文档汇总
    IntelliJ IDEA删除所有断点
    Java基础教程:tutorialspoint-junit
    Spring MVC中@RequestParam/@RequestBody/@RequestHeader的用法收集(转)
    SpringBoot中@EnableAutoConfiguration注解用法收集
    Spring Cloud ZooKeeper集成Feign的坑3,程序Run模式运行没事,Debug模式下报错
    Java中HashMap的初始容量设置
    win7下scheme环境配置
  • 原文地址:https://www.cnblogs.com/chengege/p/10705447.html
Copyright © 2020-2023  润新知