djangorestframework中viewsets和 router完成视图与路由

使用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/ 成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值