接着上篇,在上篇的基础上实现网页数据分页显示

1、打开views.py,编辑如下

  1. #coding:utf-8
    from django.shortcuts import render,get_object_or_404
    from blog.models import Post
    from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
    # Create your views here.
    def post_list(request):
    object_list = Post.objects.all()
    paginator = Paginator(object_list,3)#分页显示,每页3条记录
    page = request.GET.get('page')
    try:
    posts = paginator.page(page)
    except PageNotAnInteger:
    posts = paginator.page(1)
    except EmptyPage:
    posts = paginator.page(paginator.num_pages)
    return render(request,'blog/post/list.html',{'page':page,'posts':posts})
  1. def post_detail(request,post):
    post = get_object_or_404(Post,slug=post)
    # post = Post.objects.get(slug=post)
    return render(request,'blog/post/detail.html',{'post':post})

2、打开urls.py,编辑如下

  1. from django.conf.urls import url,include
    from django.contrib import admin
    from blog.views import *
  2.  
  3. urlpatterns = [
    # url(r'^blog/',blog_views.post_list,name='post_list'),
    url(r'^blog/', post_list, name='post_list'),
    url(r'^(?P<post>[-\w]+)/$',
    post_detail, name='post_detail'),
    url(r'^(?P<post_id>)/share/$',post_share,name='post_share'),
    url(r'^admin/', admin.site.urls),
    ]
  1.  

3、建立html网页

  在 blog目录下建立templates文件,在下面再建立文件夹 blog,在下面增加 base.html,在blog文件夹下建立post文件夹,在此文件夹建立list.html文件和

pagination.html。目录下:

  

  

  base.html文件内容如下:

  

  

  1. list.html 文件内容如下:

  1. pagination.html文件内容如下:
  1.  

  

4、在浏览器里输入:http://127.0.0.1:8000/blog/

  1.  

  1.  

点击“Next”

这样就实现了简单的分页功能

  1.  

Django 学习笔记之七 实现分页的更多相关文章

  1. Django学习笔记(20)——BBS+Blog项目开发(4)Django如何使用Bootstrap

    本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其 ...

  2. Django 学习笔记之四 QuerySet常用方法

    QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...

  3. Django 学习笔记之三 数据库输入数据

    假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...

  4. Django学习笔记(五)—— 表单

    疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path         ...

  5. Django学习笔记(三)—— 型号 model

    疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...

  6. Django 学习笔记(二)

    Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...

  7. Django 学习笔记(五)模板标签

    关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...

  8. Django 学习笔记(四)模板变量

    关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...

  9. Django 学习笔记(三)模板导入

    本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...

随机推荐

  1. 根据ie浏览器不同的类别选择不同的css

    如果是IE浏览器则选择all-ie-only.css <!--[if IE]> <link rel="stylesheet" type="text/cs ...

  2. LINQ简介和LINQ to SQL语句之Where

    LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性.已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感 ...

  3. Python Opearte MS-SQL Use Pymssql

    看到很多的开源数据库会用到MySQL,Python同样也使用,但是我已经习惯使用图形化界面,操作感极强的MS-SQL 看到Python也提供MS-SQL连接方式,需要用到PyMssql. 在Windo ...

  4. slickgrid 一个优秀的JS表格插件

    从熟悉JS以来,慢慢的喜欢上了这个门语言. 不自觉的,看了好多js的知识,可能也是因为做项目的原因吧. 这里稍微说下一个JS的grid插件 --slickgrid 了解这个插件也不是很多,稍微了解了下 ...

  5. Mysql中IFNULL与IN操作

    Mysql IFNULL操作 项目中用到的,当SQL查询某个字段为空的时候,查询结果中设置其值为默认值.最笨的方法当然是对查询结果进行处理了,遍历查询结果,当为空的时候,设置其值: 代码如下 复制代码 ...

  6. rac安装oem

    [oracle@node1 ~]$ emca -config dbcontrol db -repos recreate -cluster STARTED EMCA at May 31, 2016 3: ...

  7. linux工程管理工具make入门

    一.make工具的功能 1.主要负责一个软件工程中多个源代码的自动编译工作 2.还能进行环境检测.后期处理等工作: 3.make工具可以识别出工程中哪些文件已经被修改,并且在再次编译的时候只编译这些文 ...

  8. 10款基于jquery的web前端特效及源码下载

    1.jQuery时间轴插件:jQuery Timelinr 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚 ...

  9. 16款最佳HTML5超酷动画演示及源码

    1.HTML5/CSS3图片选择动画 可选择多张图片 之前我们已经分享过几款很酷的HTML5图片特效,像HTML5 3D图片折叠特效.HTML5 3D旋转图片相册等应用.今天我们来分享一款既炫酷又实用 ...

  10. hibernate 一对多映射关系

    1.   单项多对一映射       custom(顾客)与order(订单) :一个顾客可以有多个订单,一个订单只能有一个顾客       配置方法:在多的一端配置<many -to one& ...