django分页实现

from django.shortcuts import render,render_to_responsefrom app1 import modelsfrom django.core.paginator import Paginator,EmptyPage,PageNotAnInteger

# Create your views here.def schools(request):    obj=models.School.objects.all()    objCount=obj.count()    paginator = Paginator(obj, 24)  # Show 25 contacts per page    page = request.GET.get(‘page‘)    try:        contacts = paginator.page(page)    except PageNotAnInteger:        # If page is not an integer, deliver first page.        contacts = paginator.page(1)    except EmptyPage:        # If page is out of range (e.g. 9999), deliver last page of results.        contacts = paginator.page(paginator.num_pages)

return render_to_response(‘schools.html‘, {"schools": contacts})

模板部分-------------------------
<table border="2px">   <caption>学校表格</caption>   <thead>      <tr>         <th>name</th>         <th>city</th>         <th>addr</th>      </tr>   </thead>   <tbody>

{% for contact in schools %}    {# Each "contact" is a Contact model object. #}{#    {{ contact.full_name|upper }}<br />#}         <tr>         <td>{{ contact.name }}</td>         <td>{{ contact.city }}</td>         <td>{{ contact.addr }}</td>

</tr>{% endfor %}</tbody></table>

<div class="pagination">    <span class="step-links">        {% if schools.has_previous %}            <a href="?page={{ schools.previous_page_number }}">上一页</a>        {% endif %}

<span class="current">            第 {{ schools.number }} 页||共 {{ schools.paginator.num_pages }}页        </span>

{% if schools.has_next %}            <a href="?page={{ schools.next_page_number }}">下一页</a>        {% endif %}    </span></div>

</body>
				
时间: 2024-10-10 14:49:21

django分页实现的相关文章

django分页功能,templatetags的应用

django 将不会将得到的html代码自动转化 from django.utils.html import format_html html =''' <a href='http://www.china.cn'>中国</a>''' format_html(html) django分页 分页功能基本操作 from django.core.import Paginator li=[11,12,13,22,24,25] p=Paginator(li,3) #将li传入,每页显示3条 p

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

django 分页显示页码 views.py 显示11页码 1 2 3 4 5 6 7 8 9 10 11 if 总页数(10) < 11 起始位置 1 - 10总页数 else 总页数 > 11 IF 当前页 小于 6 起始位置 1 结束页 11 IF 当前页 大于 6 IF 如果结束页 > 总页数 起始值 6 - 5 总页数 else 起始值 6 - 5 结束页 6+5 #!/usr/bin/env python #_*_coding:utf-8_*_ from django.sho

Django分页和查询参数的问题

查询是通过get的方式,之前没有分页之前,url是这样的: http://hostname/search?query=port%3A8080 那么我的想法是如果分页了. 1,不带page参数了.next之后就加载下一页的内容 http://hostname/search?query=port%3A8080 请问这个是通过post传参吗? 2,使用官方文档中的(目前的方案) http://hostname/search?query=port%3A8080?page=2 但是,在现实情况下.?pag

Django -- 分页 -- 批量导入

Django --  分页 分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数 属性 count:对象总数 num_pages:页面总数 page_range:页码列表,从1开始,例如[1, 2, 3, 4] 方法 page(num):下标以1开始,如果提供的页码不存在,抛出InvalidPage异常 异常exception Inva

django 分页组件

一.仿django分页功能自己实现 urls.py 1 2 3 4 5 6 7 8 9 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [     url(r'^admin/', admin.site.urls),     url(r'^index.html$', views.index),     ] views.py 1 2 3 4

Django 分页查询并返回jsons数据,中文乱码解决方法

一.引子 Django 分页查询并返回 json ,需要将返回的 queryset 序列化, demo 如下: # coding=UTF-8 import os from django.core import serializers from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage from django.shortcuts import render from django.http import

django 分页例子

django 分页例子 安装 python3.6 -m pip install django-pure-pagination==0.3.0 设置 settings.py INSTALLED_APPS = [ 'pure_pagination', ] PAGINATION_SETTINGS = { 'PAGE_RANGE_DISPLAYED': 3, 'MARGIN_PAGES_DISPLAYED': 2, 'SHOW_FIRST_PAGE_WHEN_INVALID': True, } DISPL

Django框架(十五)—— Django分页组件

Django分页组件 一.分页器 数据量大的话,可以分页获取,查看 例如:图书管理中,如果有成千上万本书,要是都在一个页面中渲染出来,会影响页面美观,所以就要用分页器分页渲染 二.分页器的使用 基本写法 基本写法: 后端: 总数据拿出来 生成分页器Paginator对象(对象里有属性和方法) 生成当前页的对象,current_page=paginator.page(当前页码) 取出前台传过来的页码,current_page_num = int(request.GET.get('page')) -

django分页技术Paginator(进阶篇)

一.概述 在之前的另一篇博文中介绍了在django中进行分页的两种方法,可是说基本上实现了分页刷新的功能,但存留一个问题,那就是当页数多的时候,会出现所有页码排开的情况,美观性不好不说,更主要的是当页码多的时候,分页栏会变得很长.所以对之前的做法进行重构的同时,也实现了定义分页栏显示页码个数的功能. 最终效果: 本博文旨在深化理解Paginator的使用,当然熟悉后也可以实现"跳转","下5页"类似的功能. 二.Paginator 博文提到,在一个页面中使用多个表,

Django 分页2 (Pagination)

分页是Web应用常用的手法,Django提供了一个分页器类Paginator(django.core.paginator.Paginator),可以很容易的实现分页的功能.该类有两个构造参数,一个是数据的集合,另一个是每页放多少条数据.Paginator的基本使用如下: $python manage.py shell >>> from django.core.paginator import Paginator >>> objects = ['john', 'paul'