案例:员工管理系统(分页)

一 . 在views.py的pretty_list函数中添加分页代码

def pretty_list(request):
    """ 靓号列表 """
    # for i in range(300):  # 增加号码测试用
    #     models.PrettyNum.objects.create(mobile="1818888818",price=10,status=1)

    data_dict = {}  # 装查询结果的字典
    search_data = request.GET.get('q', "")  # 获取GET提交的关键字
    if search_data:  # 如果传了关键字
        data_dict["mobile__contains"] = search_data  # 才能往字典里传这个值

    # 1 根据用户要访问的页码计算出起止位置
    page = int(request.GET.get('page', 1))  # 2 获取当前页面 默认第一页
    page_size = 10  # 每页显示多少数据
    start = (page - 1) * page_size  # 2 计算开始值
    end = page * page_size  # 2 结束值

    # 2 总页码
    queryset = models.PrettyNum.objects.filter(**data_dict).order_by("-level")[start:end]  # 没有传就获取所有的值, [start:end]=规定取值范围

    # 3 计算有多少条数据
    total_count = models.PrettyNum.objects.filter(**data_dict).order_by("-level").count()  # 2 计算有多少条数据

    # 4 计算总页码
    total_page_count, div = divmod(total_count, page_size)  # 3 (总数/每页条数)
    if div:
        total_page_count += 1

    # 5 计算出当前页的前5页和后五页
    plus = 5
    if total_page_count <= 2 * plus + 1:  # 数据库数据比较少没达到11页
        start_page = 1  # 固定开始值
        end_page = total_page_count + 1  # 总页数+1  固定结束值

    else:  # 数据比较多 > 11
        if page <= plus:  # 当前页<5(小极值)
            start_page = 1
            end_page = 2 * plus + 1 + 1  # 总页数+1
        else:  # 当前页>5(大极值)
            if (page + plus) > total_page_count:
                start_page = total_page_count - 2 * plus
                end_page = total_page_count  # 结束的位子等于总页码
            else:
                start_page = page - plus
                end_page = page + plus

    # 页码列表
    page_str_list = []  # 2 页码地址列表

    # 首页
    page_str_list.append('<li><a href="?page={}">首页</a></li>'.format(1))

    # 上一页
    if page < 1:
        prev = '<li><a href="?page={}">上一页</a></li>'.format(page - 1)
    else:
        prev = '<li><a href="?page={}">上一页</a></li>'.format(1)
    page_str_list.append(prev)

    # 6 会显示全部页码
    for i in range(start_page, end_page + 1):
        if i == page:
            ele = '<li class="active"><a href="?page={}">{}</a> </li>'.format(i, i)  # 生成url
        else:
            ele = '<li><a href="?page={}">{}</a> </li>'.format(i,i)  # 2 每次循环相当于生成<li><a href="/pretty/list/?page=2">2</a></li>地址
        page_str_list.append(ele)  # 2 添加到页码地址列表

    # 下一页
    if page < total_page_count:  # 当前页小于总页数
        prev = '<li><a href="?page={}">下一页</a></li>'.format(page + 1)
    else:
        prev = '<li><a href="?page={}">下一页</a></li>'.format(total_page_count)

    page_str_list.append(prev)

    # 尾页
    page_str_list.append('<li><a href="?page={}">尾页</a></li>'.format(total_page_count))

    # 跳转页
    seach_string = """
    <li>
        <!-- 2. 跳转页码 -->
        <form style="float: left;margin-left: 1px" method="get">
            <input name="page"
               style="position:relative;float:left;display: inline-block;width:80px;border-radius:0;"
               type="text" class="form-control"placeholder="页码">

            <button class="btn btn-default" type="submit">跳转</button>
        </form>
    </li>
    """

    page_str_list.append(seach_string)
    page_string = mark_safe("".join(page_str_list))  # 获取页面并转为字符:mark_safe=转为字符

    return render(request, 'pretty_list.html',
                  {"queryset": queryset, "search_date": search_data, "page_string": page_string})  # 返回页面

二. 在preet_list.html文件中添加页码的div

{% extends 'layout.html' %}  <!-- 继承模板 -->

{% block content %}  <!-- django导入语法 -->
    <div class="container">
        <div style="margin-bottom: 10px" class="clearfix">
            <a class="btn btn-success" href="/pretty/add/">
                <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
                新建靓号
            </a>

            <div style="float: right;width: 300px;">  <!-- 搜索框宽300,右飘 -->
                <form method="get">  <!-- 表单提交 -->
                    <div class="input-group">  <!-- name属性="q" -->
                        <input type="text" name="q" class="form-control" placeholder="Search for..."
                               value="{{ search_data }}">  <!-- 把后端获取的值再传入前端以get方式提交 -->
                        <span class="input-group-btn">
                        <button class="btn btn-default" type="submit">
                            <span class="glyphicon glyphicon-search" aria-hidden="true"></span>  <!-- 加个图标 -->
                        </button>
                      </span>
                    </div>
                </form>
            </div>

        </div>
        <div class="panel panel-default">
            <!-- 面板内容 -->
            <div class="panel-heading">
                <span class="glyphicon glyphicon-th-list" aria-hidden="true"></span>
                靓号列表
            </div>

            <!-- Table -->
            <table class="table table-bordered">
                <thead>
                <tr>
                    <th>ID</th>
                    <th>号码</th>
                    <th>价格</th>
                    <th>级别</th>
                    <th>状态</th>
                    <th>操作</th>
                </tr>
                </thead>
                <tbody>
                {% for obj in queryset %}
                    <tr>
                        <th>{{ obj.id }}</th>
                        <td>{{ obj.mobile }}</td>
                        <td>{{ obj.price }}</td>
                        <td>{{ obj.get_level_display }}</td>
                        <td>{{ obj.get_status_display }}</td>
                        <td>
                            <a class="btn btn-primary btn-xs" href="/pretty/{{ obj.id }}/edit/">编辑</a>
                            <a class="btn btn-danger btn-xs" href="/pretty/{{ obj.id }}/delete/">删除</a>
                        </td>
                    </tr>
                {% endfor %}
                </tbody>
            </table>
        </div>
        <div class="clearfix">  <!-- 2. 页码由后台决定 -->
            <ul class="pagination">
                {{ page_string }}
            </ul>
        </div>

{#        <nav aria-label="...">  <!-- 1. 固定页码只有5页 -->#}
{#            <ul class="pagination">#}
{#                {{ page_string }}#}
{#                <li><a href="/pretty/list/?page=1">1</a></li>  <!-- 构建url地址 -->#}
{#                <li><a href="/pretty/list/?page=2">2</a></li>#}
{#                <li><a href="/pretty/list/?page=3">3</a></li>#}
{#                <li><a href="/pretty/list/?page=4">4</a></li>#}
{#                <li><a href="/pretty/list/?page=5">5</a></li>#}
{#            </ul>#}
{#        </nav>#}
    </div>
{% endblock %}  <!-- 模板结束 -->

三. 效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1章 通用权限管理组件简介 7 1.1 软件开发现状分析 7 1.2 功能定位、建设目标 7 1.3 目标用户群体 9 1.4 系统优点 11 1.5 系统架构大局观 12 1.6 物理结构图 13 1.7 逻辑结构图 14 1.8 系统运行环境配置 15 1.9 安装程序、数据库设计、数据库文件 15 1.10 相关程序文档结构说明 16 1.11 软件安装、配置、运行方法 17 第2章 登录后台管理系统 21 2.1请用“登录”不要“登陆” 21 2.2系统登录 22 第3章 用户(账户)管理 23 3.1申请用户(账户) 25 3.2用户(账户)审核 27 3.3用户(账户)管理 29 第4章 组织机构(部门)管理 33 4.1大型业务系统 34 4.2中小型业务系统 35 4.3微型的业务系统 36 4.4内外部组织机构 37 第5章 角色(用户组)管理 38 第6章 职员(员工)管理 42 6.1职员(员工)管理 42 6.2职员(员工)的排序顺序 43 6.3职员(员工)与用户(账户)的关系 44 6.4职员(员工)导出数据 45 6.5职员(员工)离职处理 47 第7章 内部通讯录 48 7.1 我的联系方式 49 7.2 内部通讯录 50 第8章 即时通讯 51 8.1 发送消息 51 8.2 即时通讯 53 第9章 数据字典(选项)管理 55 9.1 数据字典(选项)管理 56 9.2 数据字典(选项)明细管理 58 第10章 系统日志管理 59 10.1 用户(账户)访问情况 60 10.2 按用户(账户)查询 61 10.3 按模块(菜单)查询 62 10.4 按日期查询 63 第11章 模块(菜单)管理 64 第12章 操作权限项管理 67 第13章 用户权限管理 71 第14章 序号(流水号)管理 72 第15章 系统异常情况记录 74 第16章 关于本软件 76 第17章 修改密码 77 第18章 重新登录 79 第19章 退出系统 81 第20章 参数服务 82 第21章 多系统权限集中配置管理 83 第22章 C/S组件模式运行用例 85 第23章 B/S组件模式运行用例 88 第24章 多语言支持 89 第25章 代码生成器 94 第26章 典型业务案例应用 96 26.1 文档管理 96 26.2 名片管理 98 第27章 开发登录功能过程分析 100 27.1系统登录功能的分工 100 27.1.1 市场营销人员 100 27.1.2 决策老板 100 27.1.3 项目经理 100 27.1.4 系统架构师 100 27.1.5 美工设计人员 100 27.1.6 程序员 100 27.1.7 质量保障员 100 27.1.8 测试人员 100 27.1.9 文档管理员 100 27.1.10 客户经理 100 27.1.11 实施工程师 100 27.2注意事项建议 104 27.2.1 分工明确原则 104 27.2.2 沟通效率问题 104 27.2.3 决策效率问题 104 27.2.4 工作量问题 104 27.2.5 产品质量问题 104 27.2.6 人员变动问题 104 27.2.7 绩效考核问题 104 27.2.8 工作成果问题 104 27.3通过实现登录窗体的反思 105 第28章 客户经常需要的开发技能 107 28.1 打印功能 107 28.2 编号产生功能 107 28.3 查询功能 107 28.4 大数据量快速分页功能 107 28.5 能快速便捷输入数据功能 107 28.6 模块(菜单)可以灵活配置 107 28.7 数据导入导出功能 107 28.8 图标统计 107 28.9 第三方接口程序 107 28.10 程序需要经得起折腾 107 28.11 导入原有系统的数据 107 28.12 数据导入导出功能 107 28.13 漂亮的界面 107 第29章 产品报价、技术支持、售后服务 108 29.1 产品及服务报价 108 29.2 联系方式、售后服务、错误反馈 109
JSP基于SSH2高校学生成绩管理系统毕业源码案例设计 开发软件: MyEclipse/Eclipse/Idea都可以 数据库:mysql 技术框架SSH2: Struts2 + Spring + Hibernate 主要功能: (1)学生信息管理模块:包括所有学生信息的查询(用分页列表显示)、查看某个学生的详细信息、删除某学生信息、修改某学生信息以及学生信息的录入等子功能 (2)学生成绩管理模块:包括成绩信息录入、学生成绩查询、查看某个学生的成绩表以及删除学生成绩、学分查询以及学业预警等子功能 学生信息管理模块 学生信息管理功能包括:所有学生信息的查询(用分页列表显示)、查看某学生的详细信息、删除某学生信息、修改学生信息以及学生信息的录入等 课程信息管理模块 课程信息管理功能包括:课程信息的录入、课程信息的查询 成绩信息管理模块 学生成绩管理模块功能包括:成绩信息的录入、学生成绩的查询、查看某个学生的成绩表以及删除学生成绩、根据毕业需要的总学分提醒学生差的学分等子功能。 -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
01、新闻资讯:可以发布站点新闻、企业新闻、行业新闻、企业公告、员工文章报告等文字图文信息,支持二级分类;02、产品中心:用来发布企业自研、自产、自制的产品信息,支持图文、文字、图片三种列表模式自由切换,搭配订单系统,完美呈现企业产品库;03、商品交易:批发、进货过来的商品专用交易频道,可以作为另一个产品中心,含订单系统;04、订单系统:接受客户浏览产品、商品发出的订单,支持订单自主处理、标识查询、订单号查询等,非常方便;05、技术文章:发布产品技术参数、图文教程、视频教程、行业文章、行业论文、员工投稿等;06、案例图片:图片系统支持企业上传成千上万的案例、图片、企业风采照片等,可详细介绍案例情况,支持上传缩略图、大图;07、下载中心:企业专用资料下载基地,提供驱动、说明文档、常用软件等各类技术资料的下载,支持在线上传;08、公司介绍:公司相关介绍页面,可增加无数篇,自由建立独立页面,支持生成静态页面,拥有独立数据表;09、人才招聘:发布企业招聘信息,可同时发布多个招聘岗位,支持薪资、人数、要求等参数,拥有独立数据表;10、留言系统:客户留言反馈中心,支持留言显示,留言HTML编辑器回复,加标识秘密留言;11、友情链接:增加、删减友情链接,支持LOGO上传,排序显示等功能;12、网站公告:企业公告、站点公告系统,发布最新的企业通知、通告等,显示在首页醒目位置可上下滚动显示;13、会员系统:支持新会员在线注册,Email有效性在线审核,记录会员登录时间、次数,支持会员充值、会员等级、VIP会员等;14、资质证书:发布企业资质、企业证书、企业获奖信息、企业活动照片等,无限制添加,拥有独立数据表储存;15、弹窗留言:完美仿百度右下角弹窗留言本功能,用户可在任意页面提交留言信息,支持火狐、IE等各大主流浏览器;16、聊天系统:直接从后台开启,弹窗配合,完美互动,支持即时聊天、改名、退出、管理聊天内容等,高科技、高精华、绝对超值;17、保密系统:企业可以对各种信息进行保密设置,仅知道密码的客户或者VIP用户方能查看;18、评论功能:对各频道信息内容进行在线评论,后台可管理评论内容;19、好友分享:浏览网站的客户可以直接将喜欢的信息以邮件方式发送给他们的好友;20、生成HTML:开启静态模式时候,可以手工生成前台指定的页面,可以自动生成新增内容页面,修改内容自动更新前台页面,支持全站生成HTML静态;21、动静双态:后台轻松设置网站动态、静态访问模式,同时支持缓存机制;22、全站模糊搜索:支持多关键词的所有频道,模糊查询,如[阿赛 企业],将查询含[阿赛]、[企业]的所有信息内容;23、阿赛上传系统:支持各种图片、视频、音频等文件的在线上传,可修改上传大小、类型限制等,上传后可进行打开预览,查看大小等操作;24、阿赛分页程序:一个分页面文件,实现所有拖沓冗长的高级分页才能实现的功能,代码精短,执行速度快捷,修改操作方便;25、阿赛防SQL注入:阻挡通过地址栏、前台的一切不良信息,阻止一切类似SQL字符的字眼出现,进一步有效地增加网站整体的安全性能;26、阿赛文件管理:在线查看网站内所有文件,并可直接对文件源码进行在线修改,同时支持在线压缩整站、打包、解压、上传文件、查看空间、文件大小等各种文件操作;27、阿赛数据库在线管理:支持在线压缩、备份、还原当前数据,同时支持查看网站各个文件夹空间占用大小;28、阿赛HTML在线编辑器:快速、实用的原创JS编辑器,可移植,支持所有图文模式排版编辑,可在线上传各种图文、媒体;29、后台登录随机加法验证码:随机出题,如6 8=?,只有将正确结果14输入才能通过验证,超级安全,经典实用,执行速度超快,纯数字显示,不必担心验证码无法显示;30、高兼容二级下拉导航:支持火狐、IE等各种浏览的导航条下拉二级导航功能,可以通过修改CSS实现各种不同的效果,支持快速换肤;31、美化解释框功能:美化前台鼠标放上去会出现优美的ALT解释功能,替代系统自带的那种寒酸的解释说明框;32、相关内容列表:查看各个频道信息时候,都会在页面上显示与其相关的内容列表,增加客户黏着度;33、频道大、小分类打开:可以打开各个频道的大分类、小分类,显示其下的所有二级分类的信息列表;34、图文列表:图文相间的列表模式,所有频道均可以切换至此方式列表;35、文字列表:栏目加标题的纯文字列表模式,所有频道均可以切换至此方式列表;36、图片列表:图片加标题的纯图片列表模式,所有频道均可以切换至此方式列表;37、分类管理:添加、删除、修改、清空所有频道的大分类、小分类;38、内容管理:添加、删除、修改、更新与生成HTML、清空所有频道的信息内容;39、后台可删可改:后台管理文件夹可以删除或修改为任意您喜欢的名字,增加后台安全性,不影响前台任何程序;40、前台程序调用整合:所有前台调用集中在AsaiFun文件中,所有前台页面只需调用此一个页面即可实现过程;41、横幅广告在线上传:后台直接上传修改网站横幅及右上角广告图片和链接信息;42、繁简转换:支持繁简中文在线切换,并记录切换状态;43、div css多风格在线切换:支持网站多风格在线切换,提供三十余套网站风格,支持各种特色网站;44、网站点击、统计系统:网站内置点击记录系统,网站访问统计系统,同时支持添加网站统计代码; 用户:77ya.com密码:77ya.com
****************MYWEB后台管理平台************************************************* ---Ver 3.0--- 管理模块包括: -------[ 企业新闻 ] 模块 -------[ 产品发布 ] 模块 -------[ 人力资源 ] 模块 -------[ 订单管理 ] 模块 -------[ 留言管理 ] 模块 -------[ 系统管理 ] 模块 -------[ 权限管理 ] 模块 -------[ Flash投票 ] 模块 后台管理程序均采用最新的ASP应用技术。 部分典型功能: 1、所有分类全部基于树型分类,任意排序。 2、可以生成页面显示的JavaScript二级菜单。 3、支持SQLServer数据库。 4、支持百万记录分页。 5、可以在线群发员工邮件。 6、支持简单的用户权限管理。 7、支持多语言版本,并共用一个后台。 (把Manage.asp文件改为.mdb,然后打开它,加入语言版本的一些信息即可) 8、前台显示方法简单灵活,可以自己定制! 后台管理登陆地址: admin/admin_login.asp 或: admin/admin_login.asp?user=(多语言版本的用户名) 前台显示数据方法:=================================================== 新闻、产品显示方法:<!--#include file="admin/inc/Sys_products.asp"--> 程序里有调用后台数据的详细说明。 订单系统显示方法:<!--#include file="admin/inc/inc_class.asp"--> 留言显示方法:show_feedback.htm show_feedback.asp 其它显示如果懂一点ASP的,就自己做吧! ====================================================================== 默认管理账号: admin 密码: admin (管理密码使用md5加密) ********************************************************** 技术支持 ************ 技术支持QQ: 8699765 技术支持Email: SquareZw@yahoo.com.cn 技术支持Msn: SquareZw@hotmail.com 开发作者: 赵伟 ********************************************************** www.ARTme.net ****** 此后台已用在多个大中型企业网站,门户网站上。速度快,后台管理方便,安全稳定。 有多个典型案例,如果您需要定制开发,欢迎与本人直接联系! (另外3.3版本支持模版管理,并可生成网站全部静态页面,如果需要请与我联系。)
第1章 通用权限管理组件简介 7 1.1 软件开发现状分析 7 1.2 功能定位、建设目标 7 1.3 目标用户群体 9 1.4 系统优点 11 1.5 系统架构大局观 12 1.6 物理结构图 13 1.7 逻辑结构图 14 1.8 系统运行环境配置 15 1.9 安装程序、数据库设计、数据库文件 15 1.10 相关程序文档结构说明 16 1.11 软件安装、配置、运行方法 17 第2章 登录后台管理系统 21 2.1请用“登录”不要“登陆” 21 2.2系统登录 22 第3章 用户(账户)管理 23 3.1申请用户(账户) 25 3.2用户(账户)审核 27 3.3用户(账户)管理 29 第4章 组织机构(部门)管理 33 4.1大型业务系统 34 4.2中小型业务系统 35 4.3微型的业务系统 36 4.4内外部组织机构 37 第5章 角色(用户组)管理 38 第6章 职员(员工)管理 42 6.1职员(员工)管理 42 6.2职员(员工)的排序顺序 43 6.3职员(员工)与用户(账户)的关系 44 6.4职员(员工)导出数据 45 6.5职员(员工)离职处理 47 第7章 内部通讯录 48 7.1 我的联系方式 49 7.2 内部通讯录 50 第8章 即时通讯 51 8.1 发送消息 51 8.2 即时通讯 53 第9章 数据字典(选项)管理 55 9.1 数据字典(选项)管理 56 9.2 数据字典(选项)明细管理 58 第10章 系统日志管理 59 10.1 用户(账户)访问情况 60 10.2 按用户(账户)查询 61 10.3 按模块(菜单)查询 62 10.4 按日期查询 63 第11章 模块(菜单)管理 64 第12章 操作权限项管理 67 第13章 用户权限管理 71 第14章 序号(流水号)管理 72 第15章 系统异常情况记录 74 第16章 关于本软件 76 第17章 修改密码 77 第18章 重新登录 79 第19章 退出系统 81 第20章 参数服务 82 第21章 多系统权限集中配置管理 83 第22章 C/S组件模式运行用例 85 第23章 B/S组件模式运行用例 88 第24章 多语言支持 89 第25章 代码生成器 94 第26章 典型业务案例应用 96 26.1 文档管理 96 26.2 名片管理 98 第27章 开发登录功能过程分析 100 27.1系统登录功能的分工 100 27.1.1 市场营销人员 100 27.1.2 决策老板 100 27.1.3 项目经理 100 27.1.4 系统架构师 100 27.1.5 美工设计人员 100 27.1.6 程序员 100 27.1.7 质量保障员 100 27.1.8 测试人员 100 27.1.9 文档管理员 100 27.1.10 客户经理 100 27.1.11 实施工程师 100 27.2注意事项建议 104 27.2.1 分工明确原则 104 27.2.2 沟通效率问题 104 27.2.3 决策效率问题 104 27.2.4 工作量问题 104 27.2.5 产品质量问题 104 27.2.6 人员变动问题 104 27.2.7 绩效考核问题 104 27.2.8 工作成果问题 104 27.3通过实现登录窗体的反思 105 第28章 客户经常需要的开发技能 107 28.1 打印功能 107 28.2 编号产生功能 107 28.3 查询功能 107 28.4 大数据量快速分页功能 107 28.5 能快速便捷输入数据功能 107 28.6 模块(菜单)可以灵活配置 107 28.7 数据导入导出功能 107 28.8 图标统计 107 28.9 第三方接口程序 107 28.10 程序需要经得起折腾 107 28.11 导入原有系统的数据 107 28.12 数据导入导出功能 107 28.13 漂亮的界面 107 第29章 产品报价、技术支持、售后服务 108 29.1 产品及服务报价 108 29.2 联系方式、售后服务、错误反馈 109

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值