博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django-分页
阅读量:6967 次
发布时间:2019-06-27

本文共 2213 字,大约阅读时间需要 7 分钟。

Django-分页

django内置的分页

Paginator对象

clipboard.png

Page对象

clipboard.png

示例

from django.core.paginator import Paginatordef students(request, num):    allStudents = Student.objects.all()    #分页 每页6条数据    paginator = Paginator(allStudents, 6)    print(paginator.count, paginator.num_pages, paginator.page_range)    pageStus = paginator.page(num)    return render(request, "students.html", {"stus":pageStus})    
学生信息

学生信息

    {% for stu in stus %}
  • {
    { stu.name }}--{
    { stu.grade }}--{
    { stu.age }}
  • {% endfor %}
{% if stus.has_previous %} 上一页{% endif %}{% for index in stus.paginator.page_range %} {% if index == stus.number %} {
{ index }} {% else %} {
{ index }}
{% endif %}{% endfor %}{% if stus.has_next %}下一页{% endif %}

django-pure-pagination 分页

(1)安装

pip install django-pure-pagination

(2)settings里面添加

INSTALLED_APPS = (    ...    'pure_pagination',)

(3)views中使用方法

class OrgView(View):    '''课程机构'''    def get(self, request):        # 所有课程机构        all_orgs = CourseOrg.objects.all()        # 有多少家机构        org_nums = all_orgs.count()        # 所有城市        all_citys = CityDict.objects.all()        # 对课程机构进行分页        # 尝试获取前台get请求传递过来的page参数        # 如果是不合法的配置参数默认返回第一页        try:            page = request.GET.get('page', 1)        except PageNotAnInteger:            page = 1        # 这里指从allorg中取五个出来,每页显示5个        p = Paginator(all_orgs, 5, request=request)        orgs = p.page(page)        return render(request, "org-list.html", {            "all_orgs": orgs,            "all_citys": all_citys,            "org_nums": org_nums,        })

(4)模板修改

#{%for course_org in all_orgs%}{%for course_org in all_orgs.object_list%}...{%endfor%}

(5)分页功能

    {% if all_orgs.has_previous %}
  • 上一页
  • {% endif %} {% for page in all_orgs.pages %} {% if page %} {% ifequal page all_orgs.number %}
  • {
    { page }}
  • {% else %}
  • {
    { page }}
  • {% endifequal %} {% else %}
  • ...
  • {% endif %} {% endfor %} {% if all_orgs.has_next %}
  • 下一页
  • {% endif %}

转载地址:http://yowsl.baihongyu.com/

你可能感兴趣的文章
Wordpress去插件化之合并插件
查看>>
CentOS安装SecureCRT的sz/rz工具包
查看>>
我的友情链接
查看>>
spring--
查看>>
SWAP 交换分区管理
查看>>
LoadRunner测试脚本
查看>>
ELK-kibana
查看>>
linux正则表达式
查看>>
PHP_014 错误和异常
查看>>
红黑树
查看>>
SuSE11安装MySQL5.6.40:编译安装方式、单实例
查看>>
CentOS6编译LAMP基于FPM模式的应用wordpress
查看>>
自定义TabBar
查看>>
c#设计模式-单例模式
查看>>
指针数组和数组指针
查看>>
win7升级nodejs8
查看>>
http断点续传
查看>>
悬浮显示input中所有的内容及css处理文字过长时显示为多余部分省略
查看>>
无线覆盖项目初步地勘——高校案例
查看>>
Hadoop MapReduce 处理2表join编程案例
查看>>