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>

结果展示:

相关推荐
开心猴爷9 分钟前
应对iOS审核4.3:可以使用 IpaGuard 来给属性名混淆的技术细节与平衡之道
后端·ios
1m5555555511 分钟前
RAG 工程实战(五):正确知识已经进入 Prompt,为什么大模型还是会答错?
后端·面试
易小尊12 分钟前
我的模型在 65% 以上时准得可怕,在 50% 时像在掷硬币
后端
用户27886072856713 分钟前
fallback 会盖掉平台提示词:system、空数组和 systemAppend 的差别
前端·后端
iOS开发上架哦14 分钟前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
后端·ios
估值探索者26 分钟前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口
掘金挖土26 分钟前
前端手摸手跑路之 AI 应用开发(十一)
前端·后端
用户98883218717427 分钟前
从“限流数字”到可维护策略:ASP.NET Core 固定窗口限流的落地边界
后端
IT_陈寒29 分钟前
Vue动态组件缓存的坑你踩过了吗?
前端·人工智能·后端
田里的水稻1 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习