Django Rest框架分页如何修复(未定义名称和分页)

Django Rest框架分页如何修复(未定义名称和分页),django,pagination,django-rest-framework,Django,Pagination,Django Rest Framework,我正在尝试为搜索查询分页。所有的导入似乎都在正确的位置,但它总是告诉我这个错误。“未定义pagination.PaginationSerializer”。我不明白为什么?因为我“从rest_framework.pagination导入PaginationSerializer”导入了它。奇怪的是,我肯定我在做一些不正确的事情。这是我的代码 注意:我的代码基于官方文档中的示例。 这是我从浏览器的回溯: 异常类型:名称/用户搜索时出错/ 异常值:未定义名称“分页” 异常位置:/var/www/ap

我正在尝试为搜索查询分页。所有的导入似乎都在正确的位置,但它总是告诉我这个错误。“未定义pagination.PaginationSerializer”。我不明白为什么?因为我“从rest_framework.pagination导入PaginationSerializer”导入了它。奇怪的是,我肯定我在做一些不正确的事情。这是我的代码

注意:我的代码基于官方文档中的示例。

这是我从浏览器的回溯:

异常类型:名称/用户搜索时出错/

异常值:未定义名称“分页” 异常位置:/var/www/api/serializers.py,第19行

视图.py

from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from django.core.paginator import Paginator , EmptyPage, PageNotAnInteger
from django.shortcuts import HttpResponseRedirect
import json

from api.models import users, subjects
from api.serializers import PaginatedUserSerializer, UserKarmaSerializer


@api_view(['GET'])
def user_search(request):

    """
    Url must be example (/?subject=iOS Development)
    """

    if request.method == 'GET':

        search_subject = request.QUERY_PARAMS.get('subject')

        # Query
        user_ids = subjects.objects.filter(
            ss__icontains=search_subject).values('id_user')
        user = users.objects.filter(pk__in=user_ids).order_by('-karma', 'rate')

        # Pagination Below

        paginator = Paginator(user, 20)
        page = request.QUERY_PARAMS.get('page')

        try:
            user = Paginator.page(page)

        except PageNotAnInteger:
            user = Paginator.page(1)

        except EmptyPage:
            user = Paginator.page(Paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedUserSerializer(user,context=serializer_context)

        return Response(serializer.data, status=status.HTTP_200_OK)
from rest_framework import serializers
from rest_framework.pagination import PaginationSerializer
from api.models import users, chat, call, subjects



""" Search Tutors Based on Rate & Subjects """
# Below is line 19
class UserSearchSerializer(serializers.HyperlinkedModelSerializer):

    subjects = serializers.Field(source='user_subjects')
    user_rate = serializers.Field(source='rate_format')

    class Meta:
        model = users
        fields = ('name', 'nick', 'avatar_s', 'user_rate', 'id', 'subjects', 'bio', 'experience')


class PaginatedUserSerializer(pagination.PaginationSerializer):

    class Meta:
        object_serializer_class = UserSearchSerializer
序列化程序.py

from rest_framework import status
from rest_framework.decorators import api_view
from rest_framework.response import Response
from django.core.paginator import Paginator , EmptyPage, PageNotAnInteger
from django.shortcuts import HttpResponseRedirect
import json

from api.models import users, subjects
from api.serializers import PaginatedUserSerializer, UserKarmaSerializer


@api_view(['GET'])
def user_search(request):

    """
    Url must be example (/?subject=iOS Development)
    """

    if request.method == 'GET':

        search_subject = request.QUERY_PARAMS.get('subject')

        # Query
        user_ids = subjects.objects.filter(
            ss__icontains=search_subject).values('id_user')
        user = users.objects.filter(pk__in=user_ids).order_by('-karma', 'rate')

        # Pagination Below

        paginator = Paginator(user, 20)
        page = request.QUERY_PARAMS.get('page')

        try:
            user = Paginator.page(page)

        except PageNotAnInteger:
            user = Paginator.page(1)

        except EmptyPage:
            user = Paginator.page(Paginator.num_pages)

        serializer_context = {'request': request}
        serializer = PaginatedUserSerializer(user,context=serializer_context)

        return Response(serializer.data, status=status.HTTP_200_OK)
from rest_framework import serializers
from rest_framework.pagination import PaginationSerializer
from api.models import users, chat, call, subjects



""" Search Tutors Based on Rate & Subjects """
# Below is line 19
class UserSearchSerializer(serializers.HyperlinkedModelSerializer):

    subjects = serializers.Field(source='user_subjects')
    user_rate = serializers.Field(source='rate_format')

    class Meta:
        model = users
        fields = ('name', 'nick', 'avatar_s', 'user_rate', 'id', 'subjects', 'bio', 'experience')


class PaginatedUserSerializer(pagination.PaginationSerializer):

    class Meta:
        object_serializer_class = UserSearchSerializer

因为是作为分页序列化程序导入的,所以前面不需要分页。改为:

class PaginatedUserSerializer(PaginationSerializer)
或者,您可以更改导入:

from rest_framework import pagination

因为是作为分页序列化程序导入的,所以前面不需要分页。改为:

class PaginatedUserSerializer(PaginationSerializer)
或者,您可以更改导入:

from rest_framework import pagination

因为是作为分页序列化程序导入的,所以前面不需要分页。改为:

class PaginatedUserSerializer(PaginationSerializer)
或者,您可以更改导入:

from rest_framework import pagination

因为是作为分页序列化程序导入的,所以前面不需要分页。改为:

class PaginatedUserSerializer(PaginationSerializer)
或者,您可以更改导入:

from rest_framework import pagination