根据Django中的项目分组进行分页,可以使用Django的内置分页器Paginator来实现。以下是一个简单的示例:
from django.core.paginator import Paginator
def my_view(request):
# 获取查询集
queryset = MyModel.objects.all()
# 创建Paginator对象
paginator = Paginator(queryset, 10)
# 获取当前页的数据
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
# 将数据传递给模板
context = {'page_obj': page_obj}
return render(request, 'my_template.html', context)
{% for obj in page_obj %}
{{ obj }}
{% endfor %}
<div class="pagination">
{% if page_obj.has_previous %}
<a href="?page={{ page_obj.previous_page_number }}">上一页</a>
{% endif %}
<span>页数:{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}</span>
{% if page_obj.has_next %}
<a href="?page={{ page_obj.next_page_number }}">下一页</a>
{% endif %}
</div>
这样,就可以在Django中根据项目分组进行分页了。
领取专属 10元无门槛券
手把手带您无忧上云