• Django 内置分页的写法


    Django 内置分页写法

    后端写法

    def test2(request):
        # for i in range(300):
        #     name = "root" + str(i)
        #     models.UserInfo.objects.create(name=name, age=18)
    
        cur_page = request.GET.get('cur_page')  ### 1
    
        userlist = models.UserInfo.objects.all()
    
        from django.core.paginator import Paginator
    
        # per_page: 每页显示条目数量
        # count:    数据总个数
        # num_pages:总页数
        # page_range:总页数的索引范围,如: (1,10),(1,200)
        # page:     page对象
        paginator = Paginator(userlist, 10)
    
        # has_next              是否有下一页
        # next_page_number      下一页页码
        # has_previous          是否有上一页
        # previous_page_number  上一页页码
        # object_list           分页之后的数据列表
        # number                当前页
        # paginator             paginator对象
        users = paginator.page(cur_page)
    
        return render(request, 'index.html', {"users": users})
    

    前端写法

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>Title</title>
    </head>
    <body>
    <ul>
    
        {% for user in users.object_list %}
            <li>{{ user.name }}</li>
        {% endfor %}
    
        {% if users.has_previous %}
            <a href="/test2/?cur_page={{ users.previous_page_number }}">上一页</a>
        {% endif %}
    
        {% for num in users.paginator.page_range %}
            <a href="/test2/?cur_page={{ num }}">{{ num }}</a>
        {% endfor %}
    
        {% if users.has_next %}
            <a href="/test2/?cur_page={{ users.next_page_number }}">下一页</a>
        {% endif %}
    
    </ul>
    </body>
    </html>
    
  • 相关阅读:
    androidstudio配置模拟器路径
    Linux常见命令
    逆向助手使用
    Git服务器回滚到固定版本
    Git使用
    使用本地Gradle版本
    系统模拟器创建
    AndroidStudio设置代理
    关联、参数化、思考时间、检查点、事务的设置方式
    SQL:内连接、左外连接、右外连接、全连接、交叉连接区别
  • 原文地址:https://www.cnblogs.com/bladecheng/p/11359116.html
Copyright © 2020-2023  润新知