使用viewset跟mixin结合自己所需要的方法来继承
这里以显示列表为例: 所以就要继承mixin的列表mixin 和viewset结合
1、先导入需要用到的包
from rest_framework.pagination import PageNumberPagination # 自定义分页
from rest_framework import mixins
from rest_framework import viewsets
2、使用viewset和mixin
class GoodsPagination(PageNumberPagination):
"""自定义分页"""
page_size = 10 # 默认分页
page_size_query_param = 'page_size' # 自定义分页数量
page_query_param = 'p' # 指定分页参数为p
max_page_size = 100 # 单页最大数量
class GoodsListViewSet(mixins.ListModelMixin, viewsets.GenericViewSet):
"""商品列表页"""
queryset = Goods.objects.all()
serializer_class = GoodsSerializer
pagination_class = GoodsPagination
3、把viewset和router结合 在urls里面
from rest_framework import routers
from goods.views import GoodsListViewSet
# 配置商品路由
router = routers.DefaultRouter()
router.register(r'goods', GoodsListViewSet,) # 商品列表
urlpatterns = [
url(r'', include(router.urls)),
]
4、访问ip:127.0.0.1:8000/goods/ 成功