# 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. 前端每日实战:58# 视频演示如何用纯 CSS 创作一只卡通鹦鹉

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/vrRmWy 可交互视频 此视频是可 ...

  2. SQL语句映射文件(2)增删改查、参数、缓存

    2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" paramet ...

  3. (转)深入剖析Java中的装箱和拆箱

    转:https://www.cnblogs.com/dolphin0520/p/3780005.html 深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就 ...

  4. vi 编辑器使用指南

    一.Unix编辑器概述编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件.Unix及其相似的ix操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的ex编辑器 ...

  5. Java 空字符串和 字符串为null的区别

    之前一直没有搞清楚 字符串为空和字符串为null的区别,今天写代码一直出现NullPointerException异常,我一直没有搞清楚,后来发现我是这样写的 String s = null; s = ...

  6. HDU1251-统计难题-map+输入

    Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分 ...

  7. Java DOM解析器 - 查询XML文档

    这是需要我们查询的输入XML文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?xml version="1.0"?> ...

  8. [已解决]报错: Python Scrapy - service_identity(opentype) not working and cannot install

    解决:更新安装service_identity pip3 install service_identity --force --upgrade

  9. void v.s. void *

    在學校老師一定都會教void是無型態的返回值例如 void swap(int *a, int *b){      int temp = *a;      *a = *b;      *b = temp ...

  10. Linux安装配置Nginx服务器

    如有需要可以加我Q群[308742428]大家一起讨论技术,有偿服务. 后面会不定时为大家更新文章,敬请期待. 喜欢的朋友可以关注下. 前言 今天搭建nginx服务器,来访问静态资源文件. Nginx ...