[py][mx]django分页第三方模块django-pure-pagination

分页模块django-pure-pagination

- 一款基于django pagination封装的更好用的分页模块
https://github.com/jamespacileo/django-pure-pagination

- 安装
pip install django-pure-pagination

views.py

from pure_pagination import Paginator, EmptyPage, PageNotAnInteger

class OrgView(View):  # 课程机构列表页
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有课程机构
        org_count = all_orgs.count()  # 多少家课程机构
        all_citys = CityDict.objects.all()  # 所有城市列表

        # 分页模块
        try:
            page = request.GET.get('page', 1)
        except PageNotAnInteger:
            page = 1

        p = Paginator(all_orgs, 3, request=request)
        orgs = p.page(page)

        return render(request, 'org-list.html', {
            "all_orgs": orgs,
            "all_citys": all_citys,
            'org_count': org_count,
        })

设置每页显示

前端修改

注: 这里org_count显示多少家, all_orgs.count()

class OrgView(View):  # 课程机构列表页
    def get(self, request):
        all_orgs = CourseOrg.objects.all()  # 所有课程机构
        org_count = all_orgs.count()  #显示多少家课程机构
    {#    课程机构    #}
    <div>
        <strong>共{{ org_count }}家<strong/>
            <ul>
                {% for course_org in all_orgs.object_list %}
                    <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
                {% endfor %}
            </ul>

            {#  渲染默认样式的分页 #}
            <p>{{ all_orgs.render }}</p>
    </div>

完整的前端代码

{% extends 'base.html' %}{# 一定要出现在第一行 #}
{% load staticfiles %}
{% block title %}
    课程列表
{% endblock %}

{% block custom_bread %}
    <div>
        <ul>
            <li><a href="">首页</a>>课程机构</li>

        </ul>
    </div>
{% endblock %}

{% block content %}
    {#    机构类别    #}
    <div>
        <p><strong>机构类别</strong>: 全部 培训结构 高校 个人</p>
    </div>

    {#    城市    #}
    <div>
        <p><strong>城市</strong>:{% for city in all_citys %}
            {{ city.name }}
        {% endfor %}
        </p>
    </div>
    {#    课程机构    #}
    <div>
        <strong>共{{ org_count }}家<strong/>
            <ul>
                {% for course_org in all_orgs.object_list %}
                    <li><img src="{{ MEDIA_URL }}{{ course_org.image }}" alt=""></li>
                {% endfor %}
            </ul>
            <p>{{ all_orgs.render }}</p>
    </div>
{% endblock %}

原文地址:https://www.cnblogs.com/iiiiiher/p/8412807.html

时间: 2024-08-30 10:18:26

[py][mx]django分页第三方模块django-pure-pagination的相关文章

Django分页:使用django.core.paginator模块

#导入模块 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage #获取使用paginator函数分页集中sql_result,每25条为一页 #sql_result 是元组数据 paginator = Paginator(sql_result, 25) #获取分页的数量 page_sum = paginator.num_pages after_range_num = 3 before_range_num

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分页功能,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分页使用方法

当我们从后台数据库读取数据,出现太多的时候会很难看,这个时候就要用到分页功能,django带有的分页模块非常好用,这几天在研究,今天跟大家分享一下直接启动代码: [[email protected] oms]# ./manage.py shell      #启动后台 >>> from django.core.paginator import Paginator    导入模块>>> objects = ['xiaoluo','test','huihui','xiaox

Django 使用第三方服务发送电子邮件

在 Django 网站中使用 mailgun 的邮件收发服务. 1.在 mailgun 官网上注册个账号(免费,免费账号每个月有10000条收发邮件的服务,对我来说已经完全够用了),注册完成后界面如图所示: 然后我们点击 Domain选项,可以看到系统自动为我们生成了一个默认可用域名,点进去查看详细信息. 注意这个域名只是作为测试用,如果需要用来收发电子邮件,你需要添加新域名或者在该测试域名设置下 Authorized Recipients -> Manage Authorized Recipi

19:django 分页

分页是网站中比较常见的应用,django提供了一些类帮助管理分页的数据,这些类都位于django.core.paginator.py文件里面 分页类 构造函数 class Paginator(object_list, per_page, orphans=0, allow_empty_first_page=True) 必需参数: object_list:具有count()或者__len__()方法的可切片的对象,比如列表,元组或者django queryset per_page:每页最大的条目数量

Python学习day13 Django 分页/Session/Cookie

Created on 2017年5月3日 第1课:上节作业简介 鼠标放上表单后进入编辑模式-----需学习----CMDB里会学到模态对话框里--弹出对话框---对后台进行操作---方式:1 Form-用Submit页面整个刷新 2 用Ajax后台请求,通过Sessuss方式返回数据来控制模态对话框 第2课:本节内容1第3课:本节内容2 第4课:django自定义分页一 28minutes第5课:django自定义分页二 35minutes url(r'^index/(\d*)', views.

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