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. 7.11登入表单html

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 使用介质设备安装 AIX 以通过 HMC 安装分区

    使用介质设备安装 AIX 以通过 HMC 安装分区 原文:https://www.ibm.com/support/knowledgecenter/zh/ssw_aix_72/com.ibm.aix.h ...

  3. .NET Core开发日志——依赖注入

    依赖注入(DI)不是一个新的话题,它的出现是伴随着系统解耦的需要而几乎必然产生的. 在SOLID设计原则中,DIP(Dependency inversion principle)--依赖倒置,规定了& ...

  4. mapReducer第一个例子WordCount

    mapreducer第一个例子,主要是统计一个目录下各个文件中各个单词出现的次数. mapper package com.mapreduce.wordCount; import java.io.IOE ...

  5. [No0000141]Outlook,设置全局已读回执

    Outlook,设置全局已读回执 文件->选项

  6. hdu6435 Problem J. CSGO标程讲解以及改正标程的一个错误(本来第一个样例过不了2333) 以及 poj2926 五维曼哈顿距离模板

    比赛的时候抄poj2926的模板,但改不来啊orz #include <iostream> #include <cstdio> #include <cstring> ...

  7. 简单示例用例(Simple Example Use Cases)--hive GettingStarted用例翻译

    1.MovieLens User Ratings First, create a table with tab-delimited text file format: 首先,创建一个通过tab分隔的表 ...

  8. hive中创建子表并插入数据过程初始化MR报错解决方法

    本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop ...

  9. CMSampleBufferRef转换

    参考链接:https://blog.csdn.net/shenyi0106/article/details/47004039 https://blog.csdn.net/jeffasd/article ...

  10. maven添加settings.xml使用阿里云仓库

    在~/.m2/repository目录下新建settings.xml,内容如下: <mirrors> <!-- mirror | Specifies a repository mir ...