python - Django Rest Framework APIView 中的分页控件
问题描述
我尝试将分页添加到我的自定义视图中,并且分页有效,但我没有这个分页控件来更改页面,就像它在默认分页样式中一样,我如何将此控件添加到我的视图中?
我一直在寻找如何解决这个问题,但我几乎没有找到任何东西,通常当我找到某种方法将分页添加到自定义视图时,它看起来就像我拥有的那样,但这不是我想要的,因为这不会提供改变的可能性页。
分页.py
class CustomPagination(PageNumberPagination):
page_size = 2
page_size_query_param = 'page_size'
def get_paginated_response(self, data):
return Response({
'next': self.get_next_link(),
'previous': self.get_previous_link(),
'count': self.page.paginator.count,
'limit': self.page_size,
'result': data
})
视图.py
class TaskIndexAPIView(APIView):
def filter_queryset(self, queryset):
for obj in list(self.filter_backends):
queryset = obj().filter_queryset(self.request, queryset, self)
return queryset
filter_backends = (filters.SearchFilter,)
search_fields = ('name', 'description', 'user__username')
def get_queryset(self):
return Task.objects.all()
def get(self, request):
filtered_qs = self.filter_queryset(self.get_queryset())
tasks = filtered_qs
for i in tasks:
if i.date <= date.today() and i.status == 'NEW':
i.delayed = 'This task is delayed'
i.save()
else:
i.delayed = ''
i.save()
pagination_class = CustomPagination()
page = pagination_class.paginate_queryset(tasks, request)
serializer = IndexSerializer(page, many=True)
return Response(serializer.data)
解决方案
推荐阅读
- android - 将网格视图滚动与其他片段集成
- typescript - 如何使用角度 7 从对象数组中返回 userPass 的值?
- python-3.x - 如何从同一个子目录导入 python 文件?
- javascript - 如何将图像附加到 div,并在 1 秒内淡出图像?
- wordpress - WordPress 网站主页不断重定向到 SITE ADDRESS
- ios - Swift:如何将 Decodable.Protocol 对象保存到变量中?
- python - 在 Tkinter 上更改主循环内显示的图像?
- python - 您如何动态地为按钮列表分配相同的功能但不同的参数?
- gdi+ - 仅以灰度渲染到 GDI+
- powershell - 在最后一个终止后启动新的进程实例,或者如何更新 $timer.add_tick 方法