deepseek给的分页方案

简介: 基于Django框架实现订单分页功能,结合Bootstrap样式展示分页导航。支持上/下一页、当前页高亮及动态页码范围显示,并统计总页数与每页数据量,提升用户浏览体验。
<!----------------------
#分页功能模板使用bootstrap样式,需要的地方直接引入{ % include 'page_templates.html' % }
views页面
def order_page_view(request):
    # deepseek给的分页方案
    object_list = models.Order.objects.all()
    n = 10                                     # 每页显示10条
    paginator = Paginator(object_list, n)      # 分页设置
    page_number = request.GET.get('page')      # 当前页码
    page_obj = paginator.get_page(page_number) # 当前页对象
    return render(request, 'order_page_view.html', locals())
# 调用时:
# 当前页对象: page_obj
# 当前页码: page_obj.number
# 总页数: page_obj.paginator.num_pages
# 当前页数据: page_obj.object_list
--------------->
{% if page_obj.has_other_pages %}
<nav aria-label="Page navigation">
        <ul class="pagination">
            {# 上一页 #}
            {% if page_obj.has_previous %}
<li class="page-item">
                    <a class="page-link" href="?page={{ page_obj.previous_page_number }}"
                       aria-label="Previous">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
            {% else %}
<li class="page-item disabled">
                    <a class="page-link" href="#" aria-label="Previous">
                        <span aria-hidden="true">&laquo;</span>
                    </a>
                </li>
            {% endif %}
{# 页码显示逻辑 #}
            {% with total_pages=page_obj.paginator.num_pages current_page=page_obj.number %}
{# 计算起始和结束页码 #}
                {% if total_pages <= 9 %}
                    {% with start_page=1 end_page=total_pages %}
                        {% for page in page_obj.paginator.page_range %}
                            {% if page == current_page %}
<li class="page-item active">
                                    <span class="page-link">{{ page }}</span>
                                </li>
                            {% else %}
<li class="page-item">
                                    <a class="page-link" href="?page={{ page }}">{{ page }}</a>
                                </li>
                            {% endif %}
                        {% endfor %}
                    {% endwith %}
                {% else %}
{# 正常情况:当前页前后各显示4个页码 #}
                    {% with start_page=current_page|add:"-4" end_page=current_page|add:"4" %}
{# 调整起始页码 #}
                        {% if start_page < 1 %}
                            {% with start_page=1 end_page=9 %}
                                {% for page in page_obj.paginator.page_range %}
                                    {% if page >= start_page and page <= end_page %}
                                        {% if page == current_page %}
<li class="page-item active">
                                                <span class="page-link">{{ page }}</span>
                                            </li>
                                        {% else %}
<li class="page-item">
                                                <a class="page-link" href="?page={{ page }}">{{ page }}</a>
                                            </li>
                                        {% endif %}
                                    {% endif %}
                                {% endfor %}
                            {% endwith %}
                        {% elif end_page > total_pages %}
                            {% with start_page=total_pages|add:"-8" end_page=total_pages %}
                                {% for page in page_obj.paginator.page_range %}
                                    {% if page >= start_page and page <= end_page %}
                                        {% if page == current_page %}
<li class="page-item active">
                                                <span class="page-link">{{ page }}</span>
                                            </li>
                                        {% else %}
<li class="page-item">
                                                <a class="page-link" href="?page={{ page }}">{{ page }}</a>
                                            </li>
                                        {% endif %}
                                    {% endif %}
                                {% endfor %}
                            {% endwith %}
                        {% else %}
{# 正常范围 #}
                            {% for page in page_obj.paginator.page_range %}
                                {% if page >= start_page and page <= end_page %}
                                    {% if page == current_page %}
<li class="page-item active">
                                            <span class="page-link">{{ page }}</span>
                                        </li>
                                    {% else %}
<li class="page-item">
                                            <a class="page-link" href="?page={{ page }}">{{ page }}</a>
                                        </li>
                                    {% endif %}
                                {% endif %}
                            {% endfor %}
                        {% endif %}
                    {% endwith %}
                {% endif %}
            {% endwith %}
{# 下一页 #}
            {% if page_obj.has_next %}
<li class="page-item">
                    <a class="page-link" href="?page={{ page_obj.next_page_number }}" aria-label="Next">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
            {% else %}
<li class="page-item disabled">
                    <a class="page-link" href="#" aria-label="Next">
                        <span aria-hidden="true">&raquo;</span>
                    </a>
                </li>
            {% endif %}
<li class="page-item disabled">
                <span aria-hidden="true">本页{{ page_obj|length }}条,共{{ page_obj.paginator.num_pages }}</span>
            </li>
        </ul>
        <ul>
        </ul>
    </nav>
{% endif %}
目录
相关文章
|
30天前
|
SQL 人工智能 Java
告别传统 Text-to-SQL:基于 Spring AI Alibaba 的数据分析智能体 DataAgent 深度解析
DataAgent是基于Spring AI Alibaba生态构建的企业级AI数据分析师,融合NL2SQL、多智能体协作与RAG技术,支持多数据源分析、自动纠错与可视化报告生成,让业务人员零代码获取深度数据洞察。
1180 42
告别传统 Text-to-SQL:基于 Spring AI Alibaba 的数据分析智能体 DataAgent 深度解析
|
2天前
|
数据采集 人工智能 安全
别再用ChatGPT群发祝福了!30分钟微调一个懂你关系的“人情味”拜年AI
春节祝福太难写?本文手把手教你用LoRA微调大模型,让AI学会“看人下菜”:识别关系、风格、细节,30分钟训练出懂人情世故的拜年助手。无需代码,量化+批处理保障秒级响应,让每条祝福都像你亲手写的。(239字)
106 35
|
4天前
|
人工智能 数据可视化 应用服务中间件
2026年新手快速部署OpenClaw(Clawdbot)+接入Telegram步骤流程
对于零基础新手而言,部署OpenClaw(原Clawdbot,曾用名Moltbot)并接入Telegram,往往会陷入“环境配置繁琐、依赖安装失败、跨平台对接无响应”的困境。2026年,阿里云针对OpenClaw(v2026.1.25最新版)优化推出专属一键部署方案,依托轻量应用服务器的稳定基础设施与预置应用镜像,将环境配置、依赖安装、服务启动全流程封装,彻底解决新手部署难题;同时结合Telegram的跨终端特性,实现“聊天式指挥AI干活”,部署完成后,可直接在Telegram客户端(电脑/手机/平板)发送自然语言指令,让OpenClaw完成文件处理、信息查询、日程提醒、自动化任务、代码生成等
197 15
|
21天前
|
存储 弹性计算 人工智能
2026年阿里云服务器价格表及活动报价、租用收费标准参考
阿里云服务器租用体系涵盖轻量应用服务器、ECS云服务器两大核心品类,专注满足通用建站、企业办公、高性能计算等多元需求,收费受实例类型、配置规格、计费方式及地域影响显著。同时推出全场景优惠活动,包括普惠降价、新人秒杀、新老同享福利及长期套餐折扣,部分活动有明确时效限制。
294 7
|
3天前
|
存储 人工智能 物联网
大模型微调内存优化全攻略:无需昂贵显卡,打造你的AI助手
本文深入解析大模型微调为何“烧显存”,从原理(模型参数、优化器状态、激活值三大显存杀手)到实战:推荐QLoRA等高效方法,结合梯度累积、序列截断、混合精度与DeepSpeed优化,并介绍LLaMA-Factory Online等低门槛平台,助开发者用消费级显卡轻松微调专属模型。(239字)
94 22
大模型微调内存优化全攻略:无需昂贵显卡,打造你的AI助手
|
30天前
|
数据采集 人工智能 IDE
告别碎片化日志:一套方案采集所有主流 AI 编程工具
本文介绍了一套基于MCP架构的轻量化、多AI工具代码采集方案,支持CLI、IDE等多类工具,实现用户无感、可扩展的数据采集,已对接Aone日志平台,助力AI代码采纳率分析与研发效能提升。
421 46
告别碎片化日志:一套方案采集所有主流 AI 编程工具
|
25天前
|
人工智能 机器人 物联网
提高商店客流量的智能设备选型指南:从客流分析到数字化运营
实体零售面临客流下滑与运营瓶颈,亟需从“坐商”转向“数据驱动+主动引流”。本文系统解析六大类智能设备技术架构,涵盖客流分析、智能引流、智慧收银、导视系统、数据中台与氛围营造,结合不同业态痛点提供选型策略与实施路径,助力门店实现数字化升级与效率跃迁。
|
1月前
|
SQL 人工智能 分布式计算
从工单、文档到结构化知识库:一套可复用的 Agent 知识采集方案
我们构建了一套“自动提取 → 智能泛化 → 增量更新 → 向量化同步”的全链路自动化 pipeline,将 Agent 知识库建设中的收集、提质与维护难题转化为简单易用的 Python 工具,让知识高效、持续、低门槛地赋能智能体。
361 36
|
24天前
|
人工智能 运维 前端开发
Claude Code 30k+ star官方插件,小白也能写专业级代码
Superpowers是Claude Code官方插件,由核心开发者Jesse打造,上线3个月获3万star。它集成brainstorming、TDD、系统化调试等专业开发流程,让AI写代码更规范高效。开源免费,安装简单,实测显著提升开发质量与效率,值得开发者尝试。
|
27天前
|
存储 人工智能 前端开发
PinMe:零成本三秒发布你的网站
PinMe是一款零配置、去中心化的前端部署工具,基于IPFS实现静态网站一键发布。无需服务器、域名或复杂配置,支持网页拖拽或命令行上传,自动生成可验证、抗篡改的永久链接。单文件200MB、整站1GB以内免费部署,让发布变得简单、安全、可靠。🚀
294 11
PinMe:零成本三秒发布你的网站