Django2.0-views(8)-添加分页

添加分页

  • 使用 bootstrap3

    • BootCDN免费CDN加速服务

      <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
      <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
      
  • article.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    </head>
    <body>
        <ul>  {% 这些是内容 %}
            {% for article in articles %}
                <li>
                    {{ article.title }} {{ article.content }}
                </li>
            {% endfor %}
    
        </ul>
    
       <ul class="pagination">  {# 要求该类 #}
            {# 上一页  #}
           {% if page_obj.has_previous %}  {# 如果有上一页 #}
                <li><a href="{% url 'front:listview' %}?page={{ page_obj.previous_page_number }}"> 上一页 </a></li>
           {% else %}
                <li class="disabled"><a href="javascript:void(0)"> 上一页 </a></li>   {# 禁用 #}
           {% endif %}
    
            {# 中间页码 #}
            {% for page in paginator.page_range %}
                {% if page_obj.number == page %}
                    <li class="active"><a href="javascript:void(0)">{{ page }}</a></li>  {# 当前按钮点击无反应且有阴影 #}
                {% else %}
                    <li><a href="{% url 'front:listview' %}?page={{ page }}">{{ page }}</a></li> {# 跳转下一页 #}
                {% endif %}
            {% endfor %}
    
            {# 下一页 #}
            {% if page_obj.has_next %}
                <li><a href="{% url 'front:listview' %}?page={{ page_obj.next_page_number }}">  下一页 </a></li>
            {% else %}
                <li class="disabled"><a href="javascript:void(0)"> 下一页 </a></li>
            {% endif %}
    
       </ul>
    
    </body>
    </html>
    
  • urls.py

    from django.urls import path
    from . import views
    
    app_name = 'front'
    
    urlpatterns = [
        path('', views.ArticleListView.as_view(), name='listview'),
    ]
    
  • views.py

    from django.views.generic import ListView
    from .models import Article
    
    class ArticleListView(ListView):
        model = Article
        template_name = "article.html"
        paginate_by = 25
        context_object_name = "articles"
        ordering = "create_time"
        page_kwarg = "page"
    
        def get_context_data(self, *, object_list=None, **kwargs):
            context = super(ArticleListView, self).get_context_data(**kwargs)
            return context
    
  • 运行效果
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值