Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 德扬戈。制作一个多页的展示_Python_Django_Web - Fatal编程技术网

Python 德扬戈。制作一个多页的展示

Python 德扬戈。制作一个多页的展示,python,django,web,Python,Django,Web,StackOverflow,我想制作一个多页面的展示 第一页是前25项,第二页是26项到50项,以此类推 但是我该怎么做呢 以下是URL.py: products = Product.objects.order_by('-date') urlpatterns = [ url(r' regexp ', ListView.as_view(queryset=products, template_name='shop/shop.html')),] 它必须询问以下请求: mysite.com/shop/

StackOverflow,我想制作一个多页面的展示

第一页是前25项,第二页是26项到50项,以此类推

但是我该怎么做呢

以下是URL.py:

products = Product.objects.order_by('-date')
urlpatterns = [
url(r' regexp ', ListView.as_view(queryset=products, template_name='shop/shop.html')),]
它必须询问以下请求: mysite.com/shop/2

并在第页显示产品[25*(请求编号-1):25*请求编号]项


提前谢谢

ListView
可以为您处理分页,如果您通过参数定义其
paginate_。让我们定义从其继承的新类中的所有参数:

class ProductsListView(ListView):
    model = Product
    ordering = '-date'
    paginate_by = 25
    template_name = 'shop/shop.html'
然后,您只需在url模式中定义一个
页面
参数。 从技术上讲,这是因为继承了

urlpatterns=[
url(r“^shop/(?P[0-9]+)/$”,ProductListView.as_view()
]

你看了吗?@Adrien是的,我看了,但是
page=request.GET.GET('page')
@AdrienMatissart可能会更改
request.GET.GET('shop'+request)
?我的链接是这样的:site.com/shop/2sorry问另一个愚蠢的问题,但是如果我想处理我的数据,我该怎么办?我有一个函数可以将[1,2,3,4,5,6]转换为[[1,2,3,4],[5,6,None,None]],我如何将其应用于此?我不知道这与您原来的问题有什么关系。但是您可以覆盖
ListView
中的
get\u queryset
方法,以定义您自己的方式来构建将在模板中呈现的对象列表。再次感谢您,您是最好的!
urlpatterns = [
    url(r'^shop/(?P<page>[0-9]+)/$', ProductListView.as_view())
]