17-分页

# 导入 Paginator 分页类

1. 创建分页路由


app_name='App02'
urlpatterns = [
    # 分页
    path('page/',views.fenye,name="page"),
    path('page/<int:page>/',views.fenye,name="page"),
]

2. 编写分页对象

def fenye(request, page=1):
    from django.core.paginator import Paginator # 导入类
    users = User.objects.all() # 查询结果集
    # 产生分页器
    paginator = Paginator(users, 10)
    # 分页对象
    # page表示当前页
    pager = paginator.page(page)
   
    return render(request, "userlist.html", locals())

3. html页面显示

<body>
<table border="1" cellpadding="0" width="80%">
    <tr>
        <td>用户名</td>
        <td>密码</td>
    </tr>
    {# object_list: 每页显示的内容 #}
    {% for user in pager.object_list %}
        <tr>
            <td>{{ user.username }}</td>
            <td>{{ user.password }}</td>
        </tr>
    {% endfor %}

</table>
<div>
    {# paginator.page_range: 页码列表 #}
    {% for page in paginator.page_range %}
        <a href="{% url 'App02:page' page=page %}">{{ page }}</a>
    {% endfor %}
</div>
</body>
posted @ 2023-03-28 18:30  测试圈的彭于晏  阅读(18)  评论(0)    收藏  举报