Django REST framework (六)viewset使用

  • A+
所属分类:Django REST framework



原创:www.pythonfans.cn

安装搭建环境:

安装以及项目搭建参考:Django REST framework (一)安装以及django项目创建

viewset使用:

1.新增view函数视图 :vim ly_ops/Idc/views.py

from .models import Idc
from .serializers import IdcSerializer

#viewsets一个视图搞定对资源的所有的增删改查
from rest_framework.viewsets import GenericViewSet
from rest_framework import mixins
class idc5(GenericViewSet, #使用viewsets下面GenericViewSet
           mixins.ListModelMixin,
           mixins.RetrieveModelMixin,
           mixins.UpdateModelMixin,
           mixins.CreateModelMixin,
           mixins.DestroyModelMixin):
    queryset = Idc.objects.all()
    serializer_class = IdcSerializer

备注:

不需要多个视图,只需要一个视图搞定整个资源增删改查

2.修改URL:vim ly_ops/ ly_ops/urls.py

Idc5_View_List = idc5.as_view({  #重写as_view
    "get":"list",  
    "post":"create"
})
Idc5_detial = idc5.as_view({
    "get":"retrieve",
    "put":"update",
    "delete":"destroy"
})

urlpatterns = [
    path('admin/', admin.site.urls),
    path('idc5/',Idc5_View_List),
    re_path('idc5/(?P<pk>[0-9]+)/',Idc5_detial) #需要加变量pk
]

备注:

list,create,retrieve,update,destroy对应的是

mixins.ListModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.CreateModelMixin,
mixins.DestroyModelMixin

类里面方法,通过查源码可以看到

启动django,进行测试

python manage.py runserver 8000

新增一条数据:post 127.0.0.1:8000/idc5/

查看所有的数据:get 127.0.0.1:8000/idc5/

查看单条数据: get 127.0.0.1:8000/idc5/1/ #1代表id是1的数据

修改单条数据: put 127.0.0.1:8000/idc5/1/ #1代表id是1的数据

删除一条数据: delete 127.0.0.1:8000/idc5/1/ #1代表id是1的数据

Django REST framework (六)viewset使用
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: