我在django rest框架中设置分页
设置:
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 4,
}
我得到:
{
"count": 10,
"next": "http://127.0.0.1:8000/api/list?page=2",
"previous": null,
"results": [
{
"name": "lorem ipsum1",
"image": "http://127.0.0.1:8000/media/pictures/2.jpg",
"description": "lorem ipsum5"
},
{
"name": "lorem2",
"image": "http://127.0.0.1:8000/media/pictures/1.jpg",
"description": "lorem ipsum4"
},
{
"name": "lorem ipsum3",
"image": "http://127.0.0.1:8000/media/pictures/3_miVerQW.jpg",
"description": "lorem ipsum3"
},
{
"name": "lorem ipsum4",
"image": "http://127.0.0.1:8000/media/pictures/4.jpg",
"description": "lorem ipsum2"
}
]
}
例如,当我发出http请求时,http://127.0.0.1:8000/api/list?page=1我只得到第1页的内容(上面的json)。是否可以通过一个http请求(可能类似于http://127.0.0.1:8000/api/list?page=1-3)获取多个页面的内容(例如页面1-3的内容)
您不能获取多个页面,但可以配置页面的大小。见https://www.django-rest-framework.org/api-guide/pagination/#pagenumberpagination
然后在配置中将这个
MyPageNumberPagination
类设置为DEFAULT_PAGINATION_CLASS
,或者为特定视图设置为pagination_class
然后您可以请求
/api/list?page=1&page_size=12
一次获取12个项目,效果与一次获取3个页面相同相关问题 更多 >
编程相关推荐