美文网首页django分页
django自带分页(补)

django自带分页(补)

作者: 赖三石 | 来源:发表于2017-07-18 11:25 被阅读0次

注:只突出分页,其余功能可能不全

例:
views.py

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

def index(request):
    article_list = models.Article.objects.all().order_by('-publish_date')
    paginator = Paginator(article_list, 3) # Show 25 contacts per page
    page = request.GET.get('page')
    try:
        articles = paginator.page(page)
    except PageNotAnInteger:
        # If page is not an integer, deliver first page.
        articles = paginator.page(1)
    except EmptyPage:
        # If page is out of range (e.g. 9999), deliver last page of results.
        articles = paginator.page(paginator.num_pages)

    return render(request,'index.html',{
        'articles': articles
    })

template

            {% for article in articles %}
                 <div class="blog-box row">
                    <div class="head-img col-md-4">
                        ![](/static/{{ article.head_img }})
                    </div>
                    <div class="blog-summary-box col-md-8">
                        <h3> <a href="{% url 'article' article.id %}">{{ article.title }}</a></h3>
                        <div class="blog-summary-btn">
                            <a>{{ article.author.name }}</a>
                            <span>{{ article.publish_date }}></span>

                             <span><i class="fa fa-star"></i>4</span>
                             <span><i class="fa fa-comment-o"></i>9</span>
                             <span><i class="fa fa-wechat"></i></span>
                        </div>
                        <div class="blog-summary">
                            {{ article.summary }}
                        </div>
                    </div>
                 </div>
              {% endfor %}


            <nav>
                  <ul class="pagination">
                        {% if articles.has_previous %}
                           <li ><a href="?page={{ articles.previous_page_number }}" >上一页</a></li>
                        {% endif %}

                        {% for p_num in articles.paginator.page_range  %}
                            {% if p_num == articles.number %}
                                 <li class="active"><a href="?page={{ p_num }}">{{ p_num }}</a></li>
                            {% else %}
                                 <li ><a href="?page={{ p_num }}">{{ p_num }}</a></li>
                            {% endif %}
                        {% endfor %}

                      {% if articles.has_next %}
                               <li ><a href="?page={{ articles.next_page_number }}" >下一页</a></li>
                        {% endif %}
                  </ul>
             </nav>

相关文章

  • django自带分页(补)

    注:只突出分页,其余功能可能不全 例:views.py template

  • Django-分页

    django-分页 一.django自带的分页 以读取UserInfo表为例 1.导入模块 from django...

  • django分页实现

    首先导入django自带的分页from django.core.paginator import Paginato...

  • Django之分页器

    Django自带分页器的实现 介绍 Django提供了一个新的类来帮助你管理分页数据,这个模块存放在django....

  • django自带分页

    urls.py views.py template

  • Django自带分页模块详解

    page = Paginator(obj_list, per_page) object_list : 一个列表,元...

  • 分页-Django REST框架

    分页-Django REST框架 pagination.py 分页 Django提供了几个类来帮助您管理分页数据-...

  • django 使用原生sql及分页

    python3 django 使用原生sql及分页 django 使用原生sql及分页,类似于django res...

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

网友评论

    本文标题:django自带分页(补)

    本文链接:https://www.haomeiwen.com/subject/zpickxtx.html