Django 学习笔记之七 实现分页
接着上篇,在上篇的基础上实现网页数据分页显示
1、打开views.py,编辑如下
#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})
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,编辑如下
from django.conf.urls import url,include
from django.contrib import admin
from blog.views import * 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),
]
3、建立html网页
在 blog目录下建立templates文件,在下面再建立文件夹 blog,在下面增加 base.html,在blog文件夹下建立post文件夹,在此文件夹建立list.html文件和
pagination.html。目录下:
base.html文件内容如下:
list.html 文件内容如下:
pagination.html文件内容如下:
4、在浏览器里输入:http://127.0.0.1:8000/blog/
点击“Next”
这样就实现了简单的分页功能
Django 学习笔记之七 实现分页的更多相关文章
- Django学习笔记(20)——BBS+Blog项目开发(4)Django如何使用Bootstrap
本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其 ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记(五)—— 表单
疯狂的暑假学习之 Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
- Django 学习笔记(二)
Django 第一个 Hello World 项目 经过上一篇的安装,我们已经拥有了Django 框架 1.选择项目默认存放的地址 默认地址是C:\Users\Lee,也就是进入cmd控制台的地址,创 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(四)模板变量
关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.传入普通变量 在hello/Hell ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
随机推荐
- DWZ与KindEditor编辑器的整合
DWZ自带的编辑器是xheditor,可能很多人用不习惯.就像我,习惯用kindeditor了.现在就来说说如何整合dwz和kindeditor. 一.打开DWZ的中的dwz.ui.js,进行修改. ...
- Android常用系统广播
关于Intent的使用,可参阅前章:http://www.cnblogs.com/caidupingblogs/p/5101669.html //关闭或打开飞行模式时的广播 Intent.ACTION ...
- IE6的position:fixed
手头一个项目中,要实现把一个浮层控制在浏览器窗口右下角,用”position:fixed”来控制最合适不过了. 但万恶的IE6不支持这个属性,之前采用过的方法有:将滚动条转移到body上,使用绝对定位 ...
- sql获取时间时分秒
select datename(hour,getdate())+':'+datename(minute,getdate())+':'+datename(second,getdate())
- 第六篇、抽屉效果+UITabBarController(主流框架)
依赖于第三方的框架RESideMenu 1.AppDelegate.m中的实现 - (BOOL)application:(UIApplication *)application didFinishLa ...
- iOS中关于.pch的新建与配置问题
以前版本的Xcode新建一个项目都会自动生成.pch,这个文件的好处是,里面添加的东西会自动添加到每个类中,也就是说我们可以把要用的宏定义,和多个头文件等放到.pch中,这样我们就不需要重复的在每个类 ...
- 大饱眼福 7款类型各异的CSS3实用菜单
1.清新小图标的HTML5/CSS3侧边栏菜单 前我们分享过几款CSS3侧边栏菜单,像CSS3侧边栏菜单 带可爱的小图标菜单和CSS3侧边栏手风琴菜单,都非常不错.今天我们要分享的这款CSS3侧边栏菜 ...
- OpenGL第18,19,20讲小结
18讲是通过调用库函数画一些简单的二次几何体,比如球体.圆锥体.圆盘等等. 19讲简单的讲了下粒子系统.其实就是三角形贴上星星的纹理,通过启用混合(GL_BLEND)来达到一种动态的粒子效果.通过修改 ...
- 1103 POI2007 大都市meg
树链剖分水过,单点修改,树状数组即可. #include <cstdio> #include <cstring> #include <cstdlib> #inclu ...
- iOS界面布局设计
参考资料: 1. 谈谈如何学习ios 8的界面和布局设计 2. iOS 8 Auto Layout界面布局系列 3. 为iPhone 6设计自适应布局 4. 几张图弄明白iOS布局中的尺寸问题