# page_num 当前页数, total_result_num 总共有多少条测试结果
def pagination(request, page_num, total_result_num, result_per_page=10):
""" 测试页面的分页 """ page_num = int(page_num)
# 点击页数
page_index_list = []
count, left = divmod(total_result_num, result_per_page)
max_page_num = count + 1 if left > 0 else count
start_page = page_num - 1 if page_num > 1 else 1
end_page = page_num + 3 if (max_page_num - page_num) >= 3 else max_page_num
for temp_page_num in range(start_page, end_page + 1):
page_index_list.append('/result/' + str(temp_page_num))
for i in range(len(page_index_list)):
if i == page_num:
page_index_list[i] = "<li class='active'><a href='%s'>%s</a></li>" % (page_index_list[i], start_page + i)
else:
page_index_list[i] = "<li><a href='%s'>%s</a></li>" % (page_index_list[i], start_page + i)
# url list--> str --> mark_safe
page_index = ' '.join(page_index_list)
page_index = mark_safe(page_index)
# 上一页和下一页
last_page_index = "/result/" + str(page_num)
next_page_index = "/result/" + str(page_num + 2)
last_page_class = ''
next_page_class = ''
if page_num == max_page_num - 1:
next_page_class = 'btn disabled'
if page_num == 0:
last_page_class = 'btn disabled'
return page_index, last_page_index, last_page_class, next_page_index, next_page_class, max_page_num

 

Django--实现分页功能,并且基于cookie实现用户定制每页的数据条数的更多相关文章

  1. Django 实现分页功能(django 2.2.7 python 3.7.5 )

    Django 自带名为 Paginator 的分页工具, 方便我们实现分页功能.本文就讲解如何使用 Paginator 实现分页功能. 一. Paginator Paginator 类的作用是将我们需 ...

  2. 基于cookie的用户登录状态管理

    cookie是什么 先来花5分钟看完这篇文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies 看完上文,相信大家对cookie已经有 ...

  3. WEB框架之Django实现分页功能

    一 Paginator分页器 1 首先在数据库中生成大量数据 def index(request) book_list = [] for i in rang(1000) book = Book(tit ...

  4. Django之分页功能

    Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表.元组或其它可迭代的对象. 基本语法 class Paginator(ob ...

  5. Haproxy之负载均衡功能、基于cookie的session持久、haproxy自带的健康页面及其动静分离的实现

    实验前提: 1.本次实验是在Centos 7.4(64bit)系统上完成的.2.实验前确保每台服务器时间同步3.本次实验有3台主机,其中haproxy作为反向代理地址为192.168.31.43,后面 ...

  6. flask分页功能:基于flask-sqlalchemy和jinja2

    先看源码: @app.route('/movie', methods=['GET', 'POST']) @app.route('/home', methods=['GET', 'POST']) @ap ...

  7. Django学习路14_获取数据库中用户名字并展示,获取指定条数

    在 views.py 中添加 获取函数 注:此时获取的是全部用户的信息 def get_users(request): users = User.objects.all() context = { ' ...

  8. Django——Paginator分页功能练习

    1.路由urls.py from django.contrib import admin from django.urls import path from app01.views import in ...

  9. django 实现分页功能

    分页效果: 视图代码: # -*- coding: utf-8 -*- from django.shortcuts import render,get_object_or_404 from djang ...

随机推荐

  1. Android获取手机和系统版本等信息的代码

    有时候需要统计手机的型号和版本号,利用程序可以获取到相应的手机信息,对比两部手机发现,厂商不同,某个信息显示方式也不尽相同,具体见: String phoneInfo = "Product: ...

  2. C++ pair

    C++ pair Pair类型概述 pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair<int, string> a; 表示a中有两个类型,第一 ...

  3. python2读取EXCEL表格内的数据时碰到的问题

    一,今天在剥离自动化的测试数据时,发生了一个错误,错误显示读取不到某个单元格的数据. 因为我使用的是python2,正好那一个单元格出现的是中文汉字,再者通过查看报错日志,让我了解到错误的原因. di ...

  4. Linux虚拟机网络连接的三种方式

    Bridge桥接模式.NAT模式.Host-only仅主机模式: 桥接模式:虚拟机使用真实网卡进行通信,配置简单:只要和真实计算机在同一个网段内,就可以直接通信:局域网内如果有其他计算机,也可以进行访 ...

  5. laravel生成key

    安装laravel之后要设置一个随即字符串作为应用密钥(key),如果你是通过composer或者laravel安装器安装的 这个key已经自动生成并设置了. 一般情况下这个key为32位长度字符串. ...

  6. Locally weighted regression algorithm

    之前所讨论的梯度下降算法,其算法模型是“线性回归模型”,我们可以理解为变量与因变量之间的关系是线性的.而现实情况是,使用线性模型去描述所有数据,很容易出现欠拟合(underfitting)的情况:同样 ...

  7. log4j日志记录到文件

    要写日志信息到一个文件中,必须使用org.apache.log4j.FileAppender.有以下FileAppender的配置参数: FileAppender配置: 属性 描述 immediate ...

  8. cocos2d之创建自己的场景类

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 首先创建.h的头文件,然后在将一些图片声音素材加到resource文件夹内,最后在创建.cpp文件:         .h头文件中创 ...

  9. 获取项目根目录(非tomact)

    String path; public void main(String[] args) { File file=new File(""); path=file.getAbsolu ...

  10. tire 树入门

    博客: 模板: 前缀是否出现: /* trie tree的储存方式:将字母储存在边上,边的节点连接与它相连的字母 trie[rt][x]=tot:rt是上个节点编号,x是字母,tot是下个节点编号 * ...