Django实现简单分页功能的方法详解


Posted in Python onDecember 05, 2017

本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下:

使用django的第三方模块django-pure-pagination

安装模块:

pip install django-pure-pagination

将'pure_pagination'添加到settings.py文件中

INSTALLED_APPS = (
  ...
  'pure_pagination',
)

在view.py文件中

from django.shortcuts import render
rom .models import mymodel
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger
def NewsList(request):
  all_news = mymodel.objects.all().order_by('-add_time')
  # 分页功能
  try:
    page = request.GET.get('page', 1)
  except PageNotAnInteger:
    page = 1
  p = Paginator(all_news, 3, request=request)
  news = p.page(page)
  return render(request, 'rdxw.html', {'all_news': news})

在template.py文件中调用view传递的参数'all_news'需要加上'.object_list'

{% extends 'base.html' %}
{% block content %}
<ul>
{% for new in all_news.object_list %}
  <li>{{new.content}}</li>
{% endblock %}
</ul>

实现翻页的部分:

<div class="pageturn">
  <ul class="pagelist">
    {% if all_news.has_previous %}
      <li class="long"><a href="?{{ all_news.previous_page_number.querystring }}" rel="external nofollow" >上一页</a></li>
    {% endif %}
    {% for page in all_news.pages %}
      {% if page %}
        {% ifequal page all_news.number %}
          <li class="active"><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" >{{ page }}</a></li>
        {% else %}
          <li><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" class="page">{{ page }}</a></li>
        {% endifequal %}
      {% else %}
        <li class="none"><a href="">...</a></li>
      {% endif %}
    {% endfor %}
    {% if all_news.has_next %}
      <li class="long"><a href="?{{ all_news.next_page_number.querystring }}" rel="external nofollow" >下一页</a></li>
    {% endif %}
  </ul>
</div>

样式较文档提供的简化了很多,方便使用。

.pageturn .pagelist {
  display: table-cell;
  vertical-align: middle;
  overflow: hidden;
}
.pageturn li {
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin-left: 10px;
  float: left;
  text-align: center;
}
.pageturn li:first-child {
  margin-left: 0;
}
.pageturn li:hover a, .pageturn .active a {
  background: #717171;
  color: #fff;
  border-color: #eaeaea;
}
.pageturn a {
  border: 1px solid #eaeaea;
  display: block;
  height: 28px;
  color: #6c6c6c;
}
.pageturn .long {
  width: 100px;
}
.pageturn .none a {
  border: 0;
}
.pageright {
  float: right;
  width: auto;
  display: inline;
  clear: none;
  margin-top: 10px;
}

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python的pycurl包用法简介
Nov 13 Python
python实现简单socket通信的方法
Apr 19 Python
浅谈python中的面向对象和类的基本语法
Jun 13 Python
利用python爬取散文网的文章实例教程
Jun 18 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
python遍历文件目录、批量处理同类文件
Aug 31 Python
Python如何实现小程序 无限求和平均
Feb 18 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
解决Django no such table: django_session的问题
Apr 07 Python
Python生成8位随机字符串的方法分析
Dec 05 #Python
在Python程序员面试中被问的最多的10道题
Dec 05 #Python
Python对列表去重的多种方法(四种方法)
Dec 05 #Python
详解Python在七牛云平台的应用(一)
Dec 05 #Python
Python 快速实现CLI 应用程序的脚手架
Dec 05 #Python
python调用Delphi写的Dll代码示例
Dec 05 #Python
Python字典数据对象拆分的简单实现方法
Dec 05 #Python
You might like
php下连接mssql2005的代码
2011/01/17 PHP
php实现webservice实例
2014/11/06 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
浅析PHP开发规范
2018/02/05 PHP
jquery select下拉框操作的一些说明
2010/04/02 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
详解jQuery中的事件
2016/12/14 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
分享给Python新手们的几道简单练习题
2017/09/21 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
python 项目目录结构设置
2020/02/14 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
Exception类的常用方法
2012/06/16 面试题
生物化学研究助理员求职信
2013/10/09 职场文书
见习期自我鉴定
2013/11/07 职场文书
班委竞选演讲稿
2014/04/28 职场文书
法制宣传月活动总结
2014/04/29 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
Python max函数中key的用法及原理解析
2021/06/26 Python