我正在尝试开发一个网站,在那里我写了一个基于函数的视图,现在想添加分页。我遵循django文档,但它只是不在一起。有人能帮我吗? my views.py:
from django.shortcuts import render, Http404
from django.http import HttpResponse
from .models import Product
from django.core.paginator import Paginator
def home(request):
products = Product.objects.all()
paginator = Paginator(products, 6)
page_number = request.GET.get('page')
page_obj = paginator.get_page(page_number)
return render(request, 'index.html', {'products': products})
首先,您可能希望将
page
参数转换为int
:然后,仍然将原始查询集传递给模板。要传递分页对象列表,请执行以下操作:
或者更有用的是,传递页面对象:
这样,您就有了访问对象列表的所有信息,还可以构建下一个和上一个链接
更方便的是,您可以使用^{} 类:
如果查看代码,您甚至不必重写任何默认行为,因此可以直接使用
ListView
中的urls
:相关问题 更多 >
编程相关推荐