2019.03.20 mvt,Django分页
MVT模式
MVT各部分的功能: M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回响应。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
Django分页
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
def page_view(request):
num = request.GET.get('num',1)
num = int(num)
movies = Movie.objects.all()
paginator = Paginator(movies,20)
try:
t_per_page = paginator.page(num)#获取当前页码的记录
except PageNotAnInteger:#如果用户输入的页码不是整数时,显示第1页的内容
t_per_page = paginator.page(1)
except EmptyPage:#如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容
t_per_page = paginator.page(paginator.num_pages)
#每页开始页码
begin = (num-int(math.ceil(10.0/2)))
if begin<1:
begin = 1
# 每页结束页码
end = begin+9
if end >pager.num_pages:
end = pager.num_pages
if end <=10:
begin = 1
else:
begin = end -9
pagelist = range(begin,end+1)
return render(request,'movie2.html',{'paginator':paginator,'t_per_page':t_per_page,'pagelist':pagelist})
<div id="pagebar">
{% if t_per_page.has_previous %}
<a href="/movie/page/?num={{ t_per_page.previous_page_number }}">上一页</a>
{% endif %}
{% for n in paginator.page_range %}
{% if n <= 10 %}
<a href="/movie/page/?num={{ n }}">{{ n }}</a>
{% endif %}
{% endfor %}
{% if t_per_page.has_next %}
<a href="/movie/page/?num={{ t_per_page.next_page_number }}">下一页</a>
{% endif %}
2019.03.20 mvt,Django分页的更多相关文章
- [2019.03.20]Linux Shell 执行传参数和expr
前不久入职实习生,现在在帮着组里面dalao们跑Case,时不时要上去收一下有木有Dump,每次敲命令太烦人于是逼着自己学写Shell脚本.一开始真的是很痛苦啊,也没能搞到书,只能凭网上半真半假的消息 ...
- 2019.03.20 读书笔记 as is 以及重写隐式/显示
强转.as is 的用法 强制转换类型有两种:子类转基类,重写隐式(implicit )\显示(explicit) 转换操作符 class myclass { private int value; p ...
- 2019.03.20 读书笔记 关于Reflect与Emit的datatable转list的效率对比
Reflect public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { Li ...
- django 分页组件
一.仿django分页功能自己实现 urls.py 1 2 3 4 5 6 7 8 9 from django.conf.urls import url from django.contrib i ...
- Django分页(一)
Django分页(一) 手动实现简单分页 HTML <!DOCTYPE html> <html lang="en"> <head> <me ...
- django 分页(2) 使用类 页码显示
django 分页显示页码 views.py 显示11页码 ) < 起始位置 - 10总页数 else 总页数 > IF 当前页 小于 起始位置 结束页 IF 当前页 大于 IF 如果结束 ...
- Django 分页功能
Django 分页功能比较强大,这边是结合官网的内容写的可以参考 https://docs.djangoproject.com/en/1.9/topics/pagination/ 分页命令行练习案列 ...
- 原生的 django 分页
原始的 django 分页 # 基本 写法 class Paginator(object): def __init__(self, object_list, per_page, orphans=0, ...
- [2019.03.25]Linux中的查找
TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...
随机推荐
- 7.11登入表单html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 使用介质设备安装 AIX 以通过 HMC 安装分区
使用介质设备安装 AIX 以通过 HMC 安装分区 原文:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.h ...
- .NET Core开发日志——依赖注入
依赖注入(DI)不是一个新的话题,它的出现是伴随着系统解耦的需要而几乎必然产生的. 在SOLID设计原则中,DIP(Dependency inversion principle)--依赖倒置,规定了& ...
- mapReducer第一个例子WordCount
mapreducer第一个例子,主要是统计一个目录下各个文件中各个单词出现的次数. mapper package com.mapreduce.wordCount; import java.io.IOE ...
- [No0000141]Outlook,设置全局已读回执
Outlook,设置全局已读回执 文件->选项
- hdu6435 Problem J. CSGO标程讲解以及改正标程的一个错误(本来第一个样例过不了2333) 以及 poj2926 五维曼哈顿距离模板
比赛的时候抄poj2926的模板,但改不来啊orz #include <iostream> #include <cstdio> #include <cstring> ...
- 简单示例用例(Simple Example Use Cases)--hive GettingStarted用例翻译
1.MovieLens User Ratings First, create a table with tab-delimited text file format: 首先,创建一个通过tab分隔的表 ...
- hive中创建子表并插入数据过程初始化MR报错解决方法
本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop ...
- CMSampleBufferRef转换
参考链接:https://blog.csdn.net/shenyi0106/article/details/47004039 https://blog.csdn.net/jeffasd/article ...
- maven添加settings.xml使用阿里云仓库
在~/.m2/repository目录下新建settings.xml,内容如下: <mirrors> <!-- mirror | Specifies a repository mir ...