Django-分页

定义:

InvalidPage:

page对象定义:

Page对象属性:

练习:

urls:

python 复制代码
from django.urls import path
from . import views
urlpatterns = [
    path('test_page',views.test_page)
]

views:

python 复制代码
def test_page(request):
    page_num = request.GET.get('page',1)
    all_data = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v]','w','x','y','z']
    # 初始化paginator对象
    paginator = Paginator(all_data,2)
    # 初始化具体页码的page对象
    c_page = paginator.page(int(page_num))
    return render(request,'node/test_page.html',locals())

templates.test_page:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>分页</title>
</head>
<body>
    {% for p in c_page %}
        <p>
            {{ p }}
        </p>
    {% endfor %}

    {% if c_page.has_previous %}
        <a href="/node/test_page?page={{ c_page.previous_page_number }}">上一页</a>
    {% else %}
        上一页
    {% endif %}

    {% for i in paginator.page_range %}
        {% if i == c_page.number %}
            {{ i }}
        {% else %}
            <a href="/node/test_page?page={{ i }}">{{ i }}</a>
        {% endif %}
    {% endfor %}

    {% if c_page.has_next %}
        <a href="/node/test_page?page={{ c_page.next_page_number }}">下一页</a>
    {% else %}
        下一页
    {% endif %}
</body>
</html>

结果展示:

相关推荐
测试-鹏哥7 分钟前
要将ITP集成到Jenkins Pipeline中,实现开发发版时自动触发自动化测试
运维·python·测试工具·ci/cd·jenkins
程序员三藏10 分钟前
Postman接口测试详解
自动化测试·软件测试·python·测试工具·职场和发展·接口测试·postman
L.EscaRC10 分钟前
Lua语言知识与应用解析
java·python·lua
间彧19 分钟前
什么是Region多副本容灾
后端
爱敲代码的北20 分钟前
WPF容器控件布局与应用学习笔记
后端
爱敲代码的北20 分钟前
XAML语法与静态资源应用
后端
清空mega22 分钟前
从零开始搭建 flask 博客实验(5)
后端·python·flask
爱敲代码的北26 分钟前
UniformGrid 均匀网格布局学习笔记
后端
起予者汝也34 分钟前
Python基础入门
开发语言·python
snakecy1 小时前
cuda10 cudnn7.5--旧版本
python·学习