Django提供了一个内置的分页模块django.core.paginator
来实现分页功能。以下是实现分页的步骤:
from django.core.paginator import Paginator
def my_view(request):
data_list = MyModel.objects.all()
paginator = Paginator(data_list, 10) # 每页显示10条数据
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
data = page_obj.object_list
{% for obj in page_obj %}
<!-- 显示数据 -->
{% endfor %}
<!-- 显示分页链接 -->
<div class="pagination">
<span class="step-links">
{% if page_obj.has_previous %}
<a href="?page=1">« 第一页</a>
<a href="?page={{ page_obj.previous_page_number }}">上一页</a>
{% endif %}
<span class="current">
第{{ page_obj.number }}页,共{{ paginator.num_pages }}页
</span>
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">下一页</a>
<a href="?page={{ paginator.num_pages }}">最后一页 »</a>
{% endif %}
</span>
</div>
通过以上步骤,就可以在Django中实现简单的分页功能。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。