前端代码:

  1. <div class="xianshi">
  2. {% for i in info %}
  3. <ul>
  4. <li>{{ i }}</li>
  5. </ul>
  6. {% endfor %}
  7. </div>
  8.  
  9. <div class="yema">
  10. {% for x in yemalist%}
  11. <span>{{ x | safe}}</span>
  12. {% endfor%}
  13. </div>

分页函数代码:

  1. def text(yema, count, data,path):
  2. """
  3. :param yema: 页码,web前端传递的页码值
  4. :param count: 每页显示数值
  5. :param data: 数据库中读取的数据
  6. :param path: 当前分页页面url路径
  7. :return: 字典数据
  8. """
  9.  
  10. yema = int(yema)
  11. path1 = path.split('/')[1]
  12.  
  13. start = count * (yema - 1)
  14. end = count * yema
  15. info = data[start:end]
  16.  
  17. if divmod(len(data), count)[1] != 0:
  18. s = divmod(len(data), count)[0] + 2
  19. else:
  20. s = divmod(len(data), count)[0] + 1
  21.  
  22. yema_list = []
  23. for i in range(1, s):
  24. i2 = "<a href='/%s/%s'>%s</a>" % (path1,i, i)
  25. yema_list.append(i2)
  26.  
  27. if yema<=5:
  28. xy = "<a href='/%s/%s'>下一页</a>" % (path1,yema + 1)
  29. yema_list = yema_list[0:10]
  30. yema_list.append(xy)
  31. elif 6<=yema<=(s-2):
  32. sy = "<a href='/%s/%s'>上一页</a>"% (path1,yema-1)
  33. xy = "<a href='/%s/%s'>下一页</a>" % (path1,yema + 1)
  34. yema_list = yema_list[yema-5:yema+5]
  35. yema_list.insert(0,sy)
  36. yema_list.append(xy)
  37. elif yema==(s-1):
  38. sy = "<a href='/%s/%s'>上一页</a>" % (path1,1)
  39. yema_list = yema_list[-10:-1]
  40. yema_list.insert(0, sy)
  41.  
  42. return {'info': info, "yemalist":yema_list}

后台代码:引入函数,赋值,返回参数即可

测试:

Django学习手册 - 自定义分页函数的更多相关文章

  1. Django学习手册 - 自定义simple_tag / filter

    相关: Django的模板引擎提供一般性的功能函数,通过前端可以实现多数的代码逻辑功能,但它仅支持大多数常见情况下的函数功能,例如if判断,ifequal对比返回值等,复杂一些的函数功能并不支持,例如 ...

  2. PHPCMS快速建站系列之自定义分页函数

    内容分页的实现方法:{pc:content action="lists" catid="$catid" order="id DESC" nu ...

  3. 第三百一十四节,Django框架,自定义分页

    第三百一十四节,Django框架,自定义分页 自定义分页模块 #!/usr/bin/env python #coding:utf-8 from django.utils.safestring impo ...

  4. Django学习手册 - 初识自定义分页

    核心: <a href='http://127.0.0.1:8000/index-%s'>%s<a> 自定义分页 1.前端处理字符 后端的字符  return render(r ...

  5. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)

    一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...

  6. django cookie session 自定义分页

    cookie cookie的由来 http协议是无状态的,犹如人生若只如初见,每次都是初次.由此我们需要cookie来保持状态,保持客户端和服务端的数据通信. 什么是cookie Cookie具体指的 ...

  7. V9自定义分页函数

    大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcms\libs\functions \global.func.php里的pages()函数,这样问 ...

  8. 十二 Django框架,自定义分页

    自定义分页模块 #!/usr/bin/env python #coding:utf-8 from django.utils.safestring import mark_safe #封装分页类模块 c ...

  9. phpcms V9自定义分页函数

    大家做网站的时候,可能很多时候分页样式都得根据模板的要求来控制的,这时很多人都会去修改全局文件phpcms\libs\functions\global.func.php里的pages()函数,这样问题 ...

随机推荐

  1. /bin/bash^M:损坏的解释器: 没有那个文件或目录

    由于在Windows下换行是\n\r,在Linux下打开多了\r,所以需要删除.删除命令 :sed -i 's/\r$//' filename -i插入 s替代模式 \r$表示任何以\r结束的字符 整 ...

  2. Luogu P4551 最长异或路径

    题目链接 \(Click\) \(Here\) \(01Trie\)好题裸题. 取节点\(1\)为根节点,向下扫每一个点从根节点到它路径上的异或和,我们可以得到一个\(sumx[u]\). 现在路径异 ...

  3. java 打印水仙花数

    package cn.lijun.demo6; public class Test2 { public static void main(String[] args) { for(int i=100; ...

  4. rabbitMQ 3.6.15生产环境

    服务器配置 系统环境:CentOS 7 由于RabbitMQ依赖erlang, 所以需要先安装erlang 下载erlang 下载地址 http://erlang.org/download/ linu ...

  5. C#语法糖(Csharp Syntactic sugar)

    目录 一.C#语法糖大汇总 1. 经过简化的Property2. 经过两次变异的委托写法3. 集合类的声明4. 集合类各个项的操作5. using == try finally6. 可爱的var7. ...

  6. 读写锁ReadWriteLock

    为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率. Java中读写锁有个接口java.util ...

  7. python 线程(其他方法,队列,线程池,协程 greenlet模块 gevent模块)

    1.线程的其他方法 from threading import Thread,current_thread import time import threading def f1(n): time.s ...

  8. 阅读:重新介绍 JavaScript(JS教程)

    这篇文章是记录自己阅读重新介绍 JavaScript(JS 教程)的记录和个人体会 在线调试代码工具:https://codepen.io/pen 引言 分歧根源:名字Javascript和Java有 ...

  9. jQuery使用(三):DOM操作之val()方法操作表单元素value值

    操作表单元素属性value的值 <form action="./" method='GET'> <h3 >选择你喜欢的明星</h3> <s ...

  10. Spring Boot 启动:No active profile set, falling back to default profiles: default

    启动 Spring Boot 失败,但是没有出现多余的异常信息: 检查之后发现是依赖的问题(之前依赖的是 spring-boot-starter),修改即可: 方法二: pom.xml加上下面两个依赖 ...