【问题标题】:Django REST API pagination: always return the same dataDjango REST API 分页:总是返回相同的数据
【发布时间】:2015-01-20 15:18:34
【问题描述】:

基于这个tutorial, 我尝试对列表进行分页,但失败了。

代码:

views.py

@api_view(['GET'])
def test(request):
    objects = ['john', 'paul', 'george', 'ringo']
    paginator = Paginator(objects, 2)
    page = paginator.page(1)
    serializer = PaginationSerializer(instance=page, context={'request':request})
    return Response(serializer.data)

urls.py

urlpatterns = patterns('', (r'^test/$', 'ptt.views.test'))

结果:

{
    "count": 4, 
    "next": "http://localhost/test/?page=2", 
    "previous": null, 
    "results": [
        "john", 
        "paul"
    ]
}

我期待通过访问http://localhost/test/?page=2 获得“george”和“ringo”, 但我仍然有“约翰”和“保罗”...

为什么?我错过了什么?

【问题讨论】:

    标签: python django api rest pagination


    【解决方案1】:

    1 是硬编码的。所以第一页被提取了。

    page = paginator.page(1)
    

    使用page参数传递:

    page = paginator.page(int(request.GET.get('page', '1')))
    

    【讨论】:

      猜你喜欢
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2017-09-22
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多