Django实现简单分页功能的方法详解

Django实现简单分页功能的方法详解,第1张

概述本文实例讲述了Django实现简单分页功能方法。分享给大家供大家参考,具体如下:

本文实例讲述了Django实现简单分页功能的方法。分享给大家供大家参考,具体如下:

使用django的第三方模块django-pure-pagination

安装模块:

pip install django-pure-pagination

将'pure_pagination'添加到settings.py文件中

INSTALLED_APPS = (  ...  'pure_pagination',)

在vIEw.py文件中

from django.shortcuts import renderrom .models import mymodelfrom pure_pagination import Paginator,EmptyPage,PageNotAnIntegerdef NewsList(request):  all_news = mymodel.objects.all().order_by('-add_time')  # 分页功能  try:    page = request.GET.get('page',1)  except PageNotAnInteger:    page = 1  p = Paginator(all_news,3,request=request)  news = p.page(page)  return render(request,'rdxw.HTML',{'all_news': news})

在template.py文件中调用vIEw传递的参数'all_news'需要加上'.object_List'

{% extends 'base.HTML' %}{% block content %}<ul>{% for new in all_news.object_List %}  <li>{{new.content}}</li>{% endblock %}</ul>

实现翻页的部分:

<div >  <ul >    {% if all_news.has_prevIoUs %}      <li ><a href="?{{ all_news.prevIoUs_page_number.querystring }}" rel="external nofollow" >上一页</a></li>    {% endif %}    {% for page in all_news.pages %}      {% if page %}        {% ifequal page all_news.number %}          <li ><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" >{{ page }}</a></li>        {% else %}          <li><a href="?{{ page.querystring }}" rel="external nofollow" rel="external nofollow" >{{ page }}</a></li>        {% endifequal %}      {% else %}        <li ><a href="">...</a></li>      {% endif %}    {% endfor %}    {% if all_news.has_next %}      <li ><a href="?{{ all_news.next_page_number.querystring }}" rel="external nofollow" >下一页</a></li>    {% endif %}  </ul></div>

样式较文档提供的简化了很多,方便使用。

.pageturn .Pagelist {  display: table-cell;  vertical-align: mIDdle;  overflow: hIDden;}.pageturn li {  wIDth: 30px;  height: 30px;  line-height: 30px;  margin-left: 10px;  @R_502_5987@: left;  text-align: center;}.pageturn li:first-child {  margin-left: 0;}.pageturn li:hover a,.pageturn .active a {  background: #717171;  color: #fff;  border-color: #eaeaea;}.pageturn a {  border: 1px solID #eaeaea;  display: block;  height: 28px;  color: #6c6c6c;}.pageturn .long {  wIDth: 100px;}.pageturn .none a {  border: 0;}.pageright {  @R_502_5987@: right;  wIDth: auto;  display: inline;  clear: none;  margin-top: 10px;}

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码 *** 作技巧总结》、《Python函数使用技巧总结》、《Python字符串 *** 作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Django实现简单分页功能的方法详解全部内容,希望文章能够帮你解决Django实现简单分页功能的方法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1201131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存