Vue + Django2.0.6 学习笔记 5.7 viewsets和router完成商品列表页

新的view方法。viewset 具体好处还不知道 感觉就是url那边方便了一些

注明下:

GoodsListView改成 GoodListViewset

from rest_framework import viewsets


class GoodsListViewset(mixins.ListModelMixin, viewsets.GenericViewSet):
    """
    商品列表页.
    """

    queryset = Goods.objects.all().order_by('id')
    serializer_class = GoodsSerializer
    pagination_class = GoodsPagination

url:

# 通过viewset来设置url
goods_list = GoodsListViewset.as_view({
    'get': 'list'
# 其他请求自己添加即可
})


path('goods/', goods_list, name='goods-list'),

在进阶一些

使用DefaultRouter来设置url:

from rest_framework.routers import DefaultRouter

router = DefaultRouter()

#以后跟goods相关的请求全部通过GoodListViewset
router.register(r'goods', GoodsListViewset)




path('', include(router.urls)),

完结= =

你可能感兴趣的:(Django,Django,DefaultRouter,viewsets)