栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

django中Paginator分页的简单实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

django中Paginator分页的简单实现

views中使用分页库Paginator.page

先导入Page, Paginator
from django.core.paginator import Page, Paginator
def paper(request,topic_id):
    #获取对应主题对象
    topic_t = Topic.objects.get(id=topic_id)
    #展示对象
    paper_qs = topic_t.paper.paper_quest.all()
    #分页器,每页显示1条记录
    paginator = Paginator(paper_qs,1)
    #获取用户页面的页数
    page = request.GET.get('page')
    try:
  # GET请求方式,get()获取指定Key值所对应的value值
  # 获取index的值,如果没有,则设置使用默认值1
        contacts = paginator.page(page)
    except PageNotAnInteger:
  # 如果输入的页码数不是整数,那么显示第一页数据
        contacts = paginator.page(1)
    except EmptyPage:
        contacts = paginator.page(paginator.num_pages) 
    context = {
        #分页对象
        'contacts':contacts
    return render(request,'quest/paper.html',context)

模板页面:paper.html

"""翻页栏"""

      
        {% if contacts.has_previous %}
            { contacts.previous_page_number }}">previous
        {% endif %}
        
              Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
        
          {% if contacts.has_next %}
            { contacts.next_page_number }}">next
          {% endif %}
"""读取每页的内容,并通过属性展示出来,添加按钮变成点击获取和传递值,并打开下一页."""
      {% for contact in contacts %}
      {# Each "contact" is a Contact model object. #}
        {% if contacts.has_next %}
         {{contact.id}} {{contact}}
          

tips :

需要在js中先将定义变量,才能传递var

分页实例对象contacts可以获取值,但是在循环中contact实例在页面可以展示,但是不能获取值,不明白为什么?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号