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分页的更多相关文章

  1. [2019.03.20]Linux Shell 执行传参数和expr

    前不久入职实习生,现在在帮着组里面dalao们跑Case,时不时要上去收一下有木有Dump,每次敲命令太烦人于是逼着自己学写Shell脚本.一开始真的是很痛苦啊,也没能搞到书,只能凭网上半真半假的消息 ...

  2. 2019.03.20 读书笔记 as is 以及重写隐式/显示

    强转.as is 的用法 强制转换类型有两种:子类转基类,重写隐式(implicit )\显示(explicit) 转换操作符 class myclass { private int value; p ...

  3. 2019.03.20 读书笔记 关于Reflect与Emit的datatable转list的效率对比

    Reflect public static List<T> ToListByReflect<T>(this DataTable dt) where T : new() { Li ...

  4. django 分页组件

      一.仿django分页功能自己实现 urls.py 1 2 3 4 5 6 7 8 9 from django.conf.urls import url from django.contrib i ...

  5. Django分页(一)

    Django分页(一) 手动实现简单分页 HTML <!DOCTYPE html> <html lang="en"> <head> <me ...

  6. django 分页(2) 使用类 页码显示

    django 分页显示页码 views.py 显示11页码 ) < 起始位置 - 10总页数 else 总页数 > IF 当前页 小于 起始位置 结束页 IF 当前页 大于 IF 如果结束 ...

  7. Django 分页功能

    Django 分页功能比较强大,这边是结合官网的内容写的可以参考 https://docs.djangoproject.com/en/1.9/topics/pagination/ 分页命令行练习案列 ...

  8. 原生的 django 分页

    原始的 django 分页 # 基本 写法 class Paginator(object): def __init__(self, object_list, per_page, orphans=0, ...

  9. [2019.03.25]Linux中的查找

    TMUX天下第一 全世界所有用CLI Linux的人都应该用TMUX,我爱它! ======================== 以下是正文 ======================== Linu ...

随机推荐

  1. MyEclipse启动Tomcat缓慢的原因及解决办法

    不知道朋友们是否有一种烦恼:有时候使用MyEclipse启动Tomcat十分缓慢,可能在几分钟前20秒以内,但现在却需要200秒开外:其间内存和CPU都被占用地厉害,而控制台的输出似乎有重复的迹象:而 ...

  2. 7.11python多进程

    #!/usr/bin/env python #!--*--coding:utf-8 --*-- #!@Time :2018/7/11 19:27 #!@Author TrueNewBee import ...

  3. 第39级台阶|2013年蓝桥杯B组题解析第三题-fishers

    第39级台阶 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚, ...

  4. yarn application ID 增长达到10000后

    Job, Task, and Task Attempt IDs In Hadoop 2, MapReduce job IDs are generated from YARN application I ...

  5. struts2常用标签详解(申明:来源于网络)

    struts2常用标签详解(申明:来源于网络) 地址:http://blessht.iteye.com/blog/1184960

  6. Mongodb----整理

    ----------------------------------------------------------------------------------mongodb基本操作------- ...

  7. xml配置

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name=& ...

  8. 第一章:初识Python

    一个Python列表 movies = ["The Holy Grail",1975,"Terry Jones&Terry Gilliam",91,[& ...

  9. 12.4 hdfs总结

    启动hdfs 需要在namenode 节点 上 s11 启动yarn 需要在resourceManager 节点上 namenode, resourceManager 都需要在整个集群中都是可以无密登 ...

  10. [No0000192]Vim打开和保存文件-Vim使用技巧(7)

    使用Vim打开和保存文件是最常用的操作,介绍使用edit命令通过文件路径来打开文件,使用write命令保存文件,当文件路径不存在或用户权限不匹配时,使用write命令调用外部shell程序完成操作. ...