在后端作为 DEFAULT_PAGINATION_CLASS
我正在使用内置的 PageNumberPagination
.
由于我使用 vue.js
的原因与 fetch
, 我不需要像 django-rest-framework
提供的那样传递整个 url :
"count": 5,
"next": "http://127.0.0.1:8000/api/something/?page=2",
"previous": null
但只有基本 url 之后的部分,例如:
/api/something/?page=2
或者只是页码,这样我就可以构建自己的端点,例如:
if (!pageNumber) {
let endpoint = "/api/something/"
} else {
let endpoint = "/api/something/" + "?page=" + pageNumber;
}
使用 django
进行分页的正确方法是什么?和像 vue
这样的 JavaScript 框架使用 bootstraps pagination component ?
最佳答案
在 View 中覆盖您的分页响应,随心所欲地改变。
def get_paginated_response(self, data):
return Response({
'links': {
'next': self.get_next_link(),
'previous': self.get_previous_link()
},
'current_page': int(self.request.query_params.get('page', 1)),
'total': self.page.paginator.count,
'per_page': self.page_size,
'total_pages': round(self.page.paginator.count/self.page_size, 1),
'data': data,
})
关于javascript - Django 休息框架 : custom pagination next/previous links,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59596342/