# 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. Python每日一题 003

    将 002 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中. 代码 import pymysql import uuid def get_id(): for i in ra ...

  2. eclipse run error:g++ not found in Path

    网上有人说: 在eclipse下 windows-->Preference-->C/C++-->Build-->Setting然后选择Discovery标签,将里面的内容全部R ...

  3. struts2 值栈分析

    目录 一.值栈分为两个逻辑部分 二.Struts2 利用 s:property 标签和 OGNL表达式来读取值栈中的属性值 1.值栈中的属性值: 2.读取对象栈中对象的属性: 3.默认情况下,Acti ...

  4. java commons-fileupload servlet 多文件上传

    commons-fileupload servlet 多文件上传 需要引入的 jar 包. commons-fileupload-1.3.2.jar commons-io-2.2.jar 工程路劲:查 ...

  5. JS-layui:百科

    ylbtech-JS-layui:百科 layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在 ...

  6. 从源码导入到github

    http://stackoverflow.com/questions/4658606/import-existing-source-code-to-github If you've got local ...

  7. Python变量的下划线

    xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部 ...

  8. log4j日志记录到数据库

    log4j API提供 org.apache.log4j.jdbc.JDBCAppender 对象,它能够将日志信息在指定的数据库. JDBCAppender 配置: Property 描述 buff ...

  9. spark性能调优05-troubleshooting处理

    1.调节reduce端缓冲区大小避免OOM异常 1.1 为什么要调节reduce端缓冲区大小 对于map端不断产生的数据,reduce端会不断拉取一部分数据放入到缓冲区,进行聚合处理: 当map端数据 ...

  10. HashSet、LinkedHashSet、TreeSet的区别

    HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放: LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代: Tree ...