zoukankan      html  css  js  c++  java
  • 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 %}

  • 相关阅读:
    hook declined to update refs/heads/dev
    关于OC中的几种延迟执行方式
    .gitignore中添加的某个忽略文件并不生效
    ios实现fastlane自动化打包
    iOS根据图片url获取尺寸
    iOS保存图片到相册崩溃
    你真的会java吗
    安卓沉浸式状态栏
    安卓接入融云IM连接不上??
    springboot无法访问静态资源
  • 原文地址:https://www.cnblogs.com/Py-king/p/10568058.html
Copyright © 2011-2022 走看看