GenericView功能十分强大,里面包装了很多方便的函数实现数据库列表的传递十分简单
列表数据传递功能
view.py中的代码
from rest_framework import generics
from goods.models import Goods
from goods.serializers import GoodsSerializer
class GoodsListView(generics.ListAPIView):
"""
商品列表页
"""
queryset = Goods.objects.all()
serializer_class = GoodsSerializer
分页功能
分页功能十分简单,这里又两种方法
1.在setting.py中设置
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [],
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
'PAGE_SIZE': 10,
}
2.在views.py中设置一个分页功能的class,自定制分页功能2.在views.py中设置一个分页功能的class,自定制分页功能
from rest_framework import generics
from rest_framework.pagination import PageNumberPagination
from goods.models import Goods
from goods.serializers import GoodsSerializer
class GoodsPagination(PageNumberPagination):
page_size = 10
page_size_query_param = 'page_size'
#设置url中的定位方式
page_query_param = "p"
max_page_size = 100
class GoodsListView(generics.ListAPIView):
"""
商品列表页
"""
queryset = Goods.objects.all()
serializer_class = GoodsSerializer
#一定不要忘了在这里设置
pagination_class = GoodsPagination