【发布时间】:2016-06-02 04:48:58
【问题描述】:
我正在尝试通过此链接进行分页和阅读。
Pagination in Django-Rest-Framework using API-View
我需要下一个,上一个 url 用于分页。问题是当我调用这个时,
pagination_class = settings.DEFAULT_PAGINATION_CLASS
它说
“设置”对象没有属性“DEFAULT_PAGINATION_CLASS”
我需要导入什么?还是安装?
模型.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)
settings.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',)
}
【问题讨论】:
标签: python django pagination