五.1分页--展示所有页码

应该规定每页显示多少条数据,再拿总数据量除每页显示的数据条数就知道到底总共有多少页。

需要的变量:

  最多显示的页码数--max_show = 11  half_show = max_show // 2

  每页显示的数据条数--per_num = 10
  总数据量--all_count = len(users)   #计算users有多长即可
  总页码数---total_num, more = divmod(all_count, per_num) #总数据量除每页数据条数即可--用divmod方法,但注意此法返回的是一个元组,所以我接收两个参数

    total_num是整除的数,more是余数。
  存放li标签的列表--html_list = []
  切片的起始值--start = (current_page - 1) * per_num
  切片的终止值--end = current_page * per_num

1.显示所有页码数:

(1)views.py中:

from django.utils.safestring import mark_safe
users = [{‘name‘:‘zhihua{}‘.format(i),‘pwd‘:‘zh12345{}‘.format(i)} for i in range(1,302)]def user_list(request):    per_num = 10 # 每页显示的数据条数    all_count = len(users)# 总数据量    total_num, more = divmod(all_count, per_num)# 总页码数    if more:#如果有余数就让总页码数加等1        total_num += 1    return render(request, ‘user_list.html‘,                  {                      "data": users,                      ‘total_num‘: range(1, total_num + 1)#把总页码数传给前端

                  }

(2)user_list.html中:

<nav aria-label="Page navigation">    <ul class="pagination">

                    {% for num in total_num %} #for循环总页码数生成多个<li>标签                        <li><a href="/user_list/?page={{ num }}">{{ num }}</a></li>#这样地址栏中?page=后直接输入数字即可展示对应第几页                    {% endfor %}                    {{ html_str|safe }}

    </ul></nav>

效果如下:

原文地址:https://www.cnblogs.com/dbslinux/p/12042135.html

时间: 2024-08-12 08:31:14

五.1分页--展示所有页码的相关文章

jquery分页展示控件:kkpager

kkpager v1.2 js分页展示控件,传入简单参数就能使用的分页效果控件 准备工作,引入js.css <script type="text/javascript" src="../lib/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="../src/kkpager.min.js"></scri

ABP学习入门系列(五)(展示实现增删改查)

大致要实现的 效果如下 1,添加Controller(用到的X.PagedList 注意到nuget添加) using System.Web.Mvc; using Abp.Application.Services.Dto; using Abp.Runtime.Caching; using Abp.Threading; using Abp.Web.Mvc.Authorization; using AutoMapper; using LearningMpaAbp.Notifications; usi

自己写的一个分页查询前台页码控制

<!doctype html> <%@ page language="java" pageEncoding="UTF-8" contentType="text/html;charset=utf-8"%> <%@ include file="/pages/common/taglibs.jsp"%> <html> <head> <meta http-equiv=Co

高性能秒杀系统实现,添加部分功能---分页展示订单

最近一直在看慕课网的ssm 秒杀系统的视频,一方面是弥补对SSM框架不熟练的缺点,二来是学习视频中框架分层设计代码结构的思想 我这里分页采用的是MySql的分页原理,说白了就是 select * from tablseXX order by XX limit start,offest ; 先上张图,因为我以前只写过ASP的分页,还是很多年前的事情,不过现在都流行 后端提供数据,前端分页, 我这里用的还是JSP循环分页 ,太LOW了 代码贴上 <select id = "totalOrder

ssh整合问题总结--使用HibernateTemplate实现数据分页展示

在进行大量的数据展示时,必须要使用分页查询,第一次使用在SSH框架整合中使用分页查询,遇到了一些问题,下面以我练习的项目为例详细介绍,如何在Spring+hibernate(+action)的环境下完成数据的分页查询. 在utils包下新建一个pageBean(这个实体类用于封装当前页面的数据集合,以及和page相关的参数): public class PageBean<T> { private int page;//当前页数 private int totalCount;//总记录数 pri

用django将数据从数据库提出并分页展示

不要笑这个太简单噢~~大神们路过的请自动忽略本文-- 要把数据提出并展示出来~效果如下: 1.需要建立一个project噢~ project中要包含一个展示的html页面和一个"后台"的Python页面.为了把.html和.py文件区分开,所以在project的文件夹下要建立一个templates文件夹来存放html文件.建好的project如下: 2.打开test.py进行编辑. 1)首先,要连接数据库,其中的MySQLdb需要自行下载安装,它是python连接mysql数据库所必不

数据分页展示

package cn.gzsxt.util; import java.util.List; /** * 分页封装 */public class PageUtil { /** * 1 数据里面的数据总行数 */ private int rowcount;// 数据里面的数据总行数 /** * 2 一页多少行数据 */ private int pagesize=10;// 一页多少行数据 /** * 3 查询起始行 limit startrow,pagesize; */ private int st

Laravel5.1 分页展示

Laravel为我们提供了一套分页的逻辑,我们无需自己实现分页逻辑,只需要执行几个简单的方法就能实现漂亮的分页. 1 simplePaginate 这是一种只显示上一页下一页的样式分页,我们来看看怎么用: class PostController extends Controller { public function index() { // $posts = Post::simplePaginate(10); 这是Model的版本 /** * simplePaginate * 第一个参数:每

C#-WebForm-★★★LinQ-数据的条件组合查询并进行分页展示(未加各种限定)★★★

前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="serv