您的位置:首页 > 编程语言 > Python开发

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

2017-11-01 16:28 591 查看

模板代码:

{#    分页    #}
<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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息