Python3之Django Web框架首页分页处理升级版

来源:互联网 发布:美国ip代理软件 编辑:程序博客网 时间:2024/05/22 03:02

模板代码:

{#    分页    #}        <nav aria-label="Page navigation" class="pull-right">            <ul class="pagination">                {% if publisher_list.has_previous %}                    <li>                        <a href="/CMS/publisherpage/?page={{ publisher_list.previous_page_number }}" aria-label="Previous">                            <span aria-hidden="true">&laquo;</span>                        </a>                    </li>                {% else %}                    <li class="disabled">                        <a href="#" aria-label="Previous">                            <span aria-hidden="true">&laquo;</span>                        </a>                    </li>                {% endif %}                {% for page_index in publisher_list.paginator.page_range %}                    {% if page_num == page_index %}                        <li class="active"><a href="/CMS/publisherpage/?page={{ page_index }}">{{ page_index }}</a></li>                    {% else %}                        <li><a href="/CMS/publisherpage/?page={{ page_index }}">{{ page_index }}</a></li>                    {% endif %}                {% endfor %}                {% if publisher_list.has_next %}                    <li>                        <a href="/CMS/publisherpage/?page={{ publisher_list.next_page_number }}" aria-label="Next">                            <span aria-hidden="true">&raquo;</span>                        </a>                    </li>                {% else %}                    <li class="disabled">                        <a href="#" aria-label="Next">                            <span aria-hidden="true">&raquo;</span>                        </a>                    </li>                {% endif %}            </ul>        </nav>

视图函数代码:

 # 分页功能        paginator = Paginator(publisher_list, 10)        page_num = request.GET.get('page', 1)        publisher_list = paginator.page(int(page_num))        context = {'publisher_list': publisher_list, 'page_num': int(page_num)}        return render(request, 'publisher.html', context)

readme:

样式用了bootstrap,代码的判断主要使用了paginator的几个方法:    paginator = Paginator(publisher_list, 10)    publisher_list = paginator.page(int(page_num))    publisher_list.previous_page_number()    publisher_list.next_page_number()    publisher_list.has_previous()    publisher_list.has_next()