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利用elaphe制作二维条形码实现代码
May 25 Python
Python实现CET查分的方法
Mar 10 Python
python去除所有html标签的方法
May 05 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
python 美化输出信息的实例
Oct 15 Python
django小技巧之html模板中调用对象属性或对象的方法
Nov 30 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
Python多进程fork()函数详解
Feb 22 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python 的topk算法实例
Apr 02 Python
谈谈python垃圾回收机制
Sep 27 Python
教你怎么用python实现字符串转日期
May 24 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
B2K与车机的中波PK
2021/03/02 无线电
介绍几个array库的新函数 php
2006/12/29 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
2016/12/29 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
python 实现turtle画图并导出图片格式的文件
2019/12/07 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
Pandas之缺失数据的实现
2021/01/06 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
2014年妇委会工作总结
2014/12/10 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android