首页 > 其他分享 >自定义分页样式

自定义分页样式

时间:2022-12-09 11:25:51浏览次数:76  
标签:分页 自定义 样式 request DISPLAYED else PAGE page

一.基本安装和配置

1.pip install django-pure-pagination

2. settings.py中
install app中添加'pure_pagination',

3. settings.py中添加参数
PAGINATION_SETTINGS = {
    'PAGE_RANGE_DISPLAYED': 2,
    'MARGIN_PAGES_DISPLAYED': 2,
    'SHOW_FIRST_PAGE_WHEN_INVALID': True,
}

PAGE_RANGE_DISPLAYED:总共会显示多少页。下面例子中从1到100的话,这里要设为100
MARGIN_PAGES_DISPLAYED:旁边会显示多少个。
SHOW_FIRST_PAGE_WHEN_INVALID:当输入页数不合法是否要跳到第一页

二. view中添加分页配置

def author_list(request):
    all_authors = Author.objects.all()
    try:
        page = request.GET.get('page', 1)
    except PageNotAnInteger:
        page = 1

    p = Paginator(all_authors,2,request=request)   #2 表示每页的数量
    page_1 = p.page(page) 
   
    return render(request, 'web/fenye.html', locals())

三. 前端展示代码

1.数据展示部分代码中的对象修改,这里page_1要改成page_1.object_list
<div id="content">
  <div  style="padding-left: 25px; ">
    <table class="table"  >
    <thead>
      <tr>
        <th>文章名称</th>

      </tr>
    </thead>
    <tbody>
      {% for row in page_1.object_list %}
        <tr>
          <td>{{ row.username }}</td>
  
        </tr>
      {% endfor %}
    </tbody>
    </table>
  </div>
</div>
2.分页需结合bootstrap
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
3.自定义分页部分代码如下

默认样式可以使用{{page_1.render}},即可完成分页

<nav aria-label="Page navigation">
  <ul class="pagination">
   {% if page_1.has_previous %}
     <li>
       <a href="?{{ page_1.previous_page_number.querystring }}" aria-label="Previous">
         <span aria-hidden="true">上一页</span>
       </a>
     </li>
   {% else %}
     <li class="disabled">
       <a aria-label="Previous">
         <span aria-hidden="true">上一页</span>
       </a>
     </li>
   {% endif %}
   {% for page in page_1.pages %}
       {% if page %}
           {% ifequal page page_1.number %}
               <li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>
           {% else %}
               <li><a href="?{{ page.querystring }}">{{ page }}</a></li>
           {% endifequal %}
       {% else %}
           ...
       {% endif %}
   {% endfor %}
   {% if page_1.has_next %}
     <li>
       <a href="?{{ page_1.next_page_number.querystring }}" aria-label="Next">
         <span aria-hidden="true">下一页</span>
       </a>
     </li>
   {% else %}
     <li class="disabled">
       <a aria-label="Next">
         <span aria-hidden="true">下一页</span>
       </a>
     </li>
   {% endif %}
   </ul>

其中page_1要就是view中自己定义的分页对象。

参考:

https://blog.csdn.net/L1119873113/article/details/95374720

https://blog.csdn.net/weixin_42289273/article/details/108887160

标签:分页,自定义,样式,request,DISPLAYED,else,PAGE,page
From: https://www.cnblogs.com/regit/p/16968391.html

相关文章

  • WPF TextBox搜索框&自定义TextBox样式
    先看效果图咯:   前面的文章中,button样式告一段落。接下来分享几个TextBox样式。后续持续更新中~代码都在git上同步。有需要的可以下载查看。项目地址在之前的文......
  • Android 动画实现 从基础到自定义
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • Java操作ElasticSearch(四、排序、高亮、分页、Filter过滤、source筛选)
    排序通过SearchSourceBuilder的sort(String,SortOrder)方法用来实现排序条件的封装@Testpublicvoidtest18()throwsIOException{SearchRequestrequest......
  • 调用自定义的包
    创建被调用的包mkdirtestcdtestgomodinitexample.com/testcattest/test.gopackagetestpackagetestimport"fmt"//func定义函数//Hello函数名//......
  • #yyds干货盘点#css样式vh屏幕高度
    众所周知,在从css3中,vh和wh指的是浏览器可见区域。1vw等于视窗总宽度的1%1vh等于视窗总高度的1%移动端使用vh遇到的问题由于,各种浏览器的计算高度不一样,譬如Safari浏览......
  • 自定义RBAC(3)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~​RBAC类型的权限,本质上是一种对资源访问路径的控制,且具有典型的树型层次结构。而树型结构,天然地就有父结点和子结点的关......
  • 自定义RBAC(3)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ RBAC类型的权限,本质上是一种对资源访问路径的控制,且具有典型的树型层次结构。而树型结构,天然地就有父结点和子结点的关......
  • vue实现自定义字体库
      先看效果是不是你所需要的,再看具体如何实现。   效果如下图所示:         有些字体需要下载,用图片就会变得很不清楚,这样我们就需要去下载字......
  • Android自定义View和Canvas绘图解析
    自定义view的流程分为measure、layout、draw三个主要步骤,今天我们通过源码来分下下measure的过程我们从顶级view开始,顶级view即DecorView,view的事件都是先经过这个DecorVi......
  • Mybatis自定义拦截器实现自动记录操作人信息
    1.前言Mybatis有四大核心对象,分别是Executor,StatementHandler,ParamterHandler,ResultSetHandler。在很多时候,对表中的数据都需要记录插入时间,修改时间,插入人和修改人,若每......