django-pure-paginations是一个第三方的分页插件

安装 django-pure-pagination

pip install django-pure-pagination

在settings里的INSTALLED_APPS下新增如下

INSTALLED_APPS = [
'pure_pagination',
]

在views中使用

#引入
from pure_pagination import Paginator, EmptyPage, PageNotAnInteger class UserHistoryView(LoginRequiredMixin,ListView):
'''登录日志'''
queryset = UserLog.objects.all().order_by('-login_time')
template_name = 'users/user_history.html'
# context_object_name = 'user_history' def get_context_data(self, **kwargs):
#分页开始
try:
page = self.request.GET.get('page', 1)
except PageNotAnInteger:
page = 1
# 这里指从all中取10个出来,每页显示10个
p = Paginator(self.queryset, 10, request=self.request)
page_list = p.page(page)
print(page_list)
context = {
"platform_active": "active",
"user_log_active": "active",
#返回给模板
"page_list":page_list,
}
kwargs.update(context)
return super(UserHistoryView, self).get_context_data(**kwargs)

模板中使用

       <div class="table-responsive">

                                <form id="del_form_asset_all" class="form-horizontal  ">
<table class="table table-striped table-bordered table-hover dataTables-example">
<thead>
<tr>
<th>ID</th>
<th>用户</th>
<th>客户端</th>
<th>来源IP</th>
<th>城市</th>
<th>登录时间</th> </tr>
</thead>
<tbody> {% for user_history in page_list.object_list %} <tr class="gradeA">
<td>{{ user_history.id }}</td>
<td>{{ user_history.username }}</td>
<td>{{ user_history.user_agent }}</td>
<td>{{ user_history.ip }}</td>
<td>{{ user_history.city }}</td>
<td>{{ user_history.login_time }}</td> </tr>
{% endfor %} </tbody> </table>
</form>
#分页开始
<div>
<ul class="pagination pull-right">
{% if page_list.has_previous %}
<li class="long"><a
href="?{{ page_list.previous_page_number.querystring }}">上一页</a>
</li>
{% endif %}
{% for page in page_list.pages %}
{% if page %}
{% ifequal page page_list.number %}
<li class="active"><a href="?{{ page.querystring }}">{{ page }}</a>
</li>
{% else %}
<li><a href="?{{ page.querystring }}">{{ page }}</a>
{% endifequal %}
{% else %}
<li class="none"><a href="">...</a></li>
{% endif %}
{% endfor %}
{% if page_list.has_next %}
<li class="long"><a
href="?{{ page_list.next_page_number.querystring }}">下一页</a></li>
{% endif %}
</ul> </div> </div>

分页效果

django-pure-pagination实现分页的更多相关文章

  1. Django 利用 Pagination 简单分页

    Django自身提供了一些类来实现管理分页,数据被分在不同的页面中,并带有“上一页/下一页”标签.这个类叫做Pagination,其定义位于 django/core/paginator.py 中. 一 ...

  2. python 学习笔记十八 django深入学习三 分页,自定义标签,权限机制

    django  Pagination(分页) django 自带的分页功能非常强大,我们来看一个简单的练习示例: #导入Paginator>>> from django.core.p ...

  3. Django的rest_framework的分页组件源码分析

    前言: 分页大家应该都很清楚,今天我来给大家做一下Django的rest_framework的分页组件的分析:我的讲解的思路是这样的,分别使用APIview的视图类和基于ModelViewSet的视图 ...

  4. python 全栈开发,Day87(ajax登录示例,CSRF跨站请求伪造,Django的中间件,自定义分页)

    一.ajax登录示例 新建项目login_ajax 修改urls.py,增加路径 from app01 import views urlpatterns = [ path('admin/', admi ...

  5. Django拾遗--pagination、sitemap、admin、form

    Django拾遗--pagination.sitemap.admin.form pagination 其实这个分页模块的原理就是根据设定的每页条数来分割queryset.查询结果/每页子项数目=页数 ...

  6. Django Rest framework 之 分页

    RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...

  7. 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页

    第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time ...

  8. django高级应用(分页功能)

    django高级应用(分页功能) 1.原生分页应用 前端html代码 <!DOCTYPE html> <html lang="en"> <head&g ...

  9. Django-restframework25 Pagination(分页)

    Django-restframework25 Pagination(分页) 2017年11月11日 15:14:36 敲代码的伪文青 阅读数:1021 标签: restful 更多 个人分类: res ...

  10. django上课笔记2-视图CBV-ORM补充-Django的自带分页-Django的自定义分页

    一.视图CBV 1.urls url(r'^login.html$', views.Login.as_view()), 2.views from django.views import View cl ...

随机推荐

  1. 大数据入门到精通11-spark dataframe 基础操作

    // dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...

  2. 深入浅出PF 学习笔记---通过资源文件设置按钮的Style及通过x:null设置不受Style影响

    <Window x:Class="WpfStudy2018.StyleButton" xmlns="http://schemas.microsoft.com/win ...

  3. 小强学渲染之OpenGL渲染管线详析

    什么是OpenGL? OpenGL是一套图形硬件的软件API接口库,它直接和GPU交互,将3D场景渲染绘制到2D屏幕上.总结说,OpenGL的功能是将程序中定义的各种2D或3D模型绘制到帧缓存中,或者 ...

  4. 20175314 《Java程序设计》迭代和JDB

    20175314 <Java程序设计>迭代和JDB 要求 1 使用C(n,m)=C(n-1,m-1)+C(n-1,m)公式进行递归编程实现求组合数C(m,n)的功能 2 m,n 要通过命令 ...

  5. Codeforces Round #499 (Div. 2)

    Codeforces Round #499 (Div. 2) https://codeforces.com/contest/1011 A #include <bits/stdc++.h> ...

  6. linux下apt安装mysql导致mysql.user table is damaged

    笔者在ubuntu下用 apt install mysql-server类似的命令安装mysql, 安装了最新版的mysql5.7,覆盖了操作系统内置的数据库mysql系统库. 最初启动mysql出错 ...

  7. wget下载指定URL下的特定属性文件

    例子:下载指定URL下的kernel开头的所有包 wget https://archives.fedoraproject.org/pub/fedora/linux/updates/28/Everyth ...

  8. 《笨方法学Python》加分题1

    1. 让你的脚本再多打印一行 我将这个题目理解为在脚本中增加一个空行,因此,在脚本中增加一条 print “\n”命令即可python中\为转义符,‘\n’为换行, ‘\t’是tab,‘\\’才是普通 ...

  9. 如何解决PHP的高并发和大流量的问题

    基础知识 TFS : 吞吐量 (吞吐量是指系统在单位时间内处理请求的数量) RT : 响应时间 (从请求发出到收到响应时间) 并发数 : 在一段时间内同时访问站点的用户数 QPS : 每秒查询率 (每 ...

  10. 哪些人才适合转行学习UI设计?

    最近有很多学员问,怎么才知道自己适不适合学习UI设计,在从事IT教育行业多年以来,也确实碰到好多人咨询这个问题,今天就和大家说下,哪些人才适合转行学习UI设计?(转行必看) 1 平面设计师.网页设计师 ...