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

模板代码:

{#    分页    #}
        <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">«span>
                        a>
                    li>
                {% else %}
                    <li class="disabled">
                        <a href="#" aria-label="Previous">
                            <span aria-hidden="true">«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">»span>
                        a>
                    li>
                {% else %}
                    <li class="disabled">
                        <a href="#" aria-label="Next">
                            <span aria-hidden="true">»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()

你可能感兴趣的:(Python,django,HTML,django,python,web框架,分页)