在Django的分页与邮差

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django的分页与邮差相关的知识,希望对你有一定的参考价值。

我正在使用Django 2.1版,我正在使用Postman测试我的项目。这是我的views.py文件: -

from rest_framework.generics import ListCreateAPIView,RetrieveUpdateDestroyAPIView
from rest_framework.permissions import AllowAny


# Add + List
# Retrieve Update Destroy
# List: Pagination

class ShowAddaView(ListCreateAPIView):

    from .serializers import AddAddaSerializer

    from .models import Adda

    permission_classes = (AllowAny, )
    serializer_class = AddAddaSerializer
    queryset = Adda.objects.all()


class RetrieveAddaView(RetrieveUpdateDestroyAPIView):
    from .serializers import AddAddaSerializer

    from .models import Adda

    permission_classes = (AllowAny,)
    serializer_class = AddAddaSerializer
    queryset = Adda.objects.all()

我在postman中应用GET和POST方法。我的序列化程序文件如下所示:

class AddAddaSerializer(serializers.ModelSerializer):
    class Meta:
        from .models import Adda
        model = Adda
        fields = '__all__'


class UpdateAddaSerializer(serializers.ModelSerializer):
    mobile = serializers.CharField(required=False)

    class Meta:
        from .models import Adda
        model = Adda
        fields = '__all__'

现在我需要使用Postman中的GET方法访问我的数据并使用分页。任何人都可以告诉我为实现它需要做些什么改变。

答案

将此设置添加到settings.py文件中,

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10  # Change this value according to your need
}

或者你可以通过pagination_class在视图级别添加分页类

from rest_framework.pagination import PageNumberPagination


class ShowAddaView(ListCreateAPIView):
    # your code
    pagination_class = PageNumberPagination


class RetrieveAddaView(RetrieveUpdateDestroyAPIView):
    # your code
    pagination_class = PageNumberPagination

有关更多详细信息,请参阅Pagination in DRF

以上是关于在Django的分页与邮差的主要内容,如果未能解决你的问题,请参考以下文章

oracle 的分页与 mySQL'的分页转化

UICollectionView 中的分页与下一个和上一个单元格的预览

scss WordPress的分页与页码和一个很酷的sass循环。

ES实战ES分页与去重

ES实战ES分页与去重

django 分页与美化