Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用下一个、上一个、计数的Django分页_Python_Django_Pagination - Fatal编程技术网

Python 使用下一个、上一个、计数的Django分页

Python 使用下一个、上一个、计数的Django分页,python,django,pagination,Python,Django,Pagination,我正试图通过这个链接进行分页和阅读 我需要有下一个,上一个用于分页的url。问题是当我把这个叫做 pagination_class = settings.DEFAULT_PAGINATION_CLASS 上面说 “设置”对象没有“默认分页类”属性 我需要进口什么?还是安装 Models.py class CarView(APIView): permission_classes = () def get(self, request): """ Get all car """

我正试图通过这个链接进行分页和阅读

我需要有下一个,上一个用于分页的url。问题是当我把这个叫做

pagination_class = settings.DEFAULT_PAGINATION_CLASS
上面说

“设置”对象没有“默认分页类”属性

我需要进口什么?还是安装

Models.py

class CarView(APIView):
permission_classes = ()

def get(self, request):
    """ Get all car """
    car = Car.objects.all()
    # paginator = PageNumberPagination()

    serializer = CarSerializer(car)
    serialized_car = CarSerializer(car, context={"request": request})
    # serializer = CarSerializer(car[0])
    return Response(serialized_car.data)
序列化程序.py

class CarSerializer(serializers.ModelSerializer):

photo_url = serializers.SerializerMethodField('get_photo_url')

class Meta:
    model = Car
    fields = ('id','name','price', 'photo_url') 

def get_photo_url(self, car):
    request = self.context.get('request')
    photo_url = car.photo.url
    return request.build_absolute_uri(photo_url)
设置.py

REST_FRAMEWORK = {

'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 100,

'DEFAULT_AUTHENTICATION_CLASSES':
    ('rest_framework.authentication.OAuth2Authentication',
     'rest_framework.authentication.SessionAuthentication'),

'DEFAULT_MODEL_SERIALIZER_CLASS':
    'rest_framework.serializers.ModelSerializer',

'DEFAULT_PERMISSION_CLASSES':
('rest_framework.permissions.IsAdminUser',)

}

您的设置文件不包括
DEFAULT\u PAGINATION\u CLASS
的定义,它包括
REST\u FRAMEWORK
的定义,而
DEFAULT\u PAGINATION\u CLASS
是其中的一部分

从关于访问的文档

访问设置

如果需要访问REST的值 框架的API设置在您的项目中,您应该使用 api_设置对象。比如说

从rest\u framework.settings导入api\u设置

打印api\u设置。默认\u身份验证\u类

api_设置对象将检查任何用户定义的设置,以及 否则就掉下去 返回默认值。使用字符串导入路径的任何设置 引用类将自动导入并返回 引用的类,而不是字符串文本


您应该能够访问
api\u设置。默认分页\u类

您的意思是我将像分页\u类=api\u设置那样进行更改。默认分页\u类?我现在犯了这个错误。无效的API设置:“DEFAULT_PAGINATION_CLASS”@KhantThuLinn您是否像上面的示例一样导入了
API_设置
?您的意思是在settings.py中导入?把这个写在那里?从rest\u framework.settings导入api\u settings not in settings.py,在这里使用
默认分页\u CLASS
。您应该使用rest\u framework.settings导入api\u settings的import语句
。尽管如此,它还是不正常。我已经导入了它并编写了分页类=api\U设置。默认分页类。我得到的错误类似于无效的API设置:“默认分页”类