1. urs.py

 # coding:utf-8
from django.conf.urls import url import views urlpatterns = [ # 分页练习
url(r'^herolist/(\d*)$', views.herolist, name='herolist'),
]

注意:第9行一定是 \d* ,\d* 表示至少0个  \d+ 表示至少一个

2. models.py

 # coding:utf-8
from __future__ import unicode_literals from django.db import models class HeroInfo(models.Model):
hname = models.CharField(max_length=100) # 主要展示这个字段
hgender = models.BooleanField()
isDelete= models.BooleanField(default=False) def __str__(self):
return self.hname.encode('utf-8')

3. views.py

 # coding:utf-8
from django.shortcuts import render
from django.core.paginator import Paginator from models import BookInfo, HeroInfo def herolist(request, current_page):
'''分页练习'''
if not current_page:
current_page = 1
list = HeroInfo.objects.all().order_by("id") # 一定要排序
paginator = Paginator(list, 5) # 每页5条记录
page = paginator.page(int(current_page)) # 获取第一页数据,从1开始
context = {'page': page}
return render(request, 'book/herolist.html', context)

注意:在取数据的时候要排序(例如第11行),否则可能有如下警告:

UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: 
<class 'book.models.HeroInfo'> QuerySet.

主要是因为取的数据是无序的,Paginator分页会出错

4. herolist.html

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>分页练习</title>
</head>
<body>
<ul>
{% for hero in page %}
<li>{{ hero.hname }}</li>
{% endfor %}
</ul>
<hr>
{% for index in page.paginator.page_range %}
{% if index == page.number %}
{{ index }}
{% else %}
<a href="{% url 'herolist' index %}"> {{ index }} </a>
{% endif %}
{% endfor %}
</body>
</html>

5. 展示

Django 之 分页的更多相关文章

  1. 第二十一章 Django的分页与cookie

    第二十一章 Django的分页与cookie 第一课 模板 1.模板的继承 在Template目录下新建模板master.html <!DOCTYPE html> <html lan ...

  2. Python Django的分页,Form验证,中间件

    本节内容 Django的分页 Form 中间件 1 Django 分页 1.1 Django自带的分页 1.首先来看下我的测试数据环境 ############ models.py ######### ...

  3. Django----列表分页(使用Django的分页组件)

    目的:是为了实现列表分页 1.定制URL http://127.0.0.1:8000/blog/get_article?page=3之前定制URL是在url后增加了/id,这次使用参数的方式 def ...

  4. Django—自定义分页

    分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置. 确定分页需求: 1. 每页显示的数据条数 2. 每页显示页号链接数 3. 上一页 ...

  5. Django自定义分页并保存搜索条件

    Django自定义分页并保存搜索条件 1.自定义分页组件pagination.py import copy class Pagination: def __init__(self, current_p ...

  6. Django DRF 分页

    Django DRF 分页 分页在DRF当中可以一共有三种,可以通过setttings设置,也可也通过自定义设置 PageNumberPagination 使用URL http://127.0.0.1 ...

  7. django之分页,纯python代码

    Django中分页 py文件代码 """ 自定义分页组件 可以返回分页的数据和分页的HTML代码 """ from django.http ...

  8. django之分页、cookie装饰器

    一.分页代码如下 from django.utils.safestring import mark_safe class Page: def __init__(self, current_page, ...

  9. django的分页--不全也未实现

    一.Django内置分页 Paginator 二.自定义分页 分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该在数据库表中的起始位置. 1.设定每页显示数据条数 2.用户输 ...

  10. Django自定义分页、bottle、Flask

    一.使用django实现之定义分页 1.自定义分页在django模板语言中,通过a标签实现; 2.前段a标签使用<a href="/user_list/?page=1"> ...

随机推荐

  1. [转载]ODBC数据源

    在做java数据库连接的时候遇到了点问题. 首先是创建数据源时,odbc里没有要用的驱动,因为我是64位的系统,但是安装的是32位的office..于是去C/windows/syswow64文件夹下, ...

  2. Ubuntu下navicat过期解决办法

    Ubuntu下使用navicat过期.试用期是15天. 可以删除.navicat64/解决.不好的一点就是.需要重新连接数据库,以前的连接记录会被删除 rm -rf ~/.navicat64/

  3. Java基础知识陷阱(十)

    本文发表于本人博客. 上个星期由于时间比较紧所以未能继续写下去,今天再接再厉,专心 + 坚持这样离目标就越来越近了!废话少说说正题,今天我们还是来说说java中比较基础的知识,大家知道编写java程序 ...

  4. 2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017) Solution

    A - Airport Coffee 留坑. B - Best Relay Team 枚举首棒 #include <bits/stdc++.h> using namespace std; ...

  5. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

  6. Python3.x:os.mkdir与 os.makedirs(创建目录方法)区别

    Python3.x:os.mkdir与 os.makedirs区别 1,os.mkdir mkdir( path [,mode] ) 说明: 创建一个目录,可以是相对或者绝对路径,mode的默认模式是 ...

  7. 20145211MSF基础应用实验

    20145211MSF基础应用实验 一.实验博客 ms08_067攻击实验 http://www.cnblogs.com/entropy/p/6690301.html ms12_004漏洞攻击 htt ...

  8. 2017-2018-1 JaWorld 第三周作业

    2017-2018-1 JaWorld 第三周作业 团队展示 队员学号 队名 团队项目描述 队员风采 团队的特色 团队合照 团队初步合作 前两周的反思与总结 需要改进的地方 团队选题 *采访老师或有开 ...

  9. ngular6开发不完全笔记(二)-- 管道

    自定义管道 管道(过滤器)为过滤数据显示下列list数据 pip.ts 文件 import { Pipe, PipeTransform } from '@angular/core'; import { ...

  10. SDN原理 OpenFlow协议 -1

    本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC ...