博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django-rest-framework 视图的使用规则 总结分享
阅读量:5456 次
发布时间:2019-06-15

本文共 4103 字,大约阅读时间需要 13 分钟。

1 # TODO 总结视图关系使用选择  2 """  3     1、总结视图使用:  4         a、增删改查 ModelviewSet  5         b、增删 CreateModelMixin,DestroyModelMixin,GenericViewSet 如果需要支持增删可继承这几个操作  6         c、复杂逻辑 GenericViewSet 或 APIView 一般开发可选择这2个开发  7         d、APIView 比较原生,纯净,可以需求选择这个做开发,  8   9  10     2、根据实际需求选择不同的视图模式,和对应的路由系统 15         路由ruoter.resigiter 自动生成增删改查,根据自己的需要选择是否需要自动生成增删改查地址 16  17 """ 18 """ 19 from rest_framework.response import Response  返回的 字典可以自动序列化为json 20 class demoview(APIView): 21     def get(self, request, *args, **kwargs): 22         return Respons({"result": "data"}) 23 """ 24  25 # TODO GenericAPIView 基本方法 26 # TODO def get 开始执行 27 # re_path(r'^(?P
[v1|v2]+)/order/$', views.OrderVies.as_view()), 28 """ 29 from rest_framework.generics import GenericAPIView 30 class view1View(GenericAPIView): 31 queryset = UserInfo.objects.all() 32 serializer_class = UserInfoSerializer 33 pagination_class = PageNumberPagination 34 35 def get(self, request, *args, **kwargs): 36 # 获取数据 37 roles = self.get_queryset() 38 # 分页 39 pager_roles = self.paginate_queryset(roles) 40 ret = self.get_serializer(instance=pager_roles, many=True) 41 return Response(ret.data) 42 """ 43 44 # TODO 继承 分叉 ViewSetMixin, generics.GenericAPIView 45 # TODO ViewSetMixin 需要给路由地址as_view传参数 as_view({"get": "list"}) 46 # TODO def list 开始执行 47 # 需要在路由地址给as_view 传参数 re_path(r'^(?P
[v1|v2]+)/order/$', views.OrderVies.as_view({"get": "list"})), 48 """ 49 from rest_framework.viewsets import GenericViewSet 50 51 class view1View(GenericViewSet): 52 queryset = UserInfo.objects.all() 53 serializer_class = UserInfoSerializer 54 pagination_class = PageNumberPagination 55 56 def list(self, request, *args, **kwargs): 57 # 获取数据 58 roles = self.get_queryset() 59 # 分页 60 pager_roles = self.paginate_queryset(roles) 61 ret = self.get_serializer(instance=pager_roles, many=True) 62 return Response(ret.data) 63 """ 64 65 # TODO ListModelMixin 不用些 def list 自动显示列表信息 66 # class view1View(ListModelMixin, CreateModelMixin, GenericViewSet): 67 # 相当于把方法都写到类里面了,系统自带的增删改查的方法,对应的Url地址参数也需要修改为对应的参数 68 # 路由地址 re_path(r'^(?P
[v1|v2]+)/order/$', views.OrderVies.as_view({"get": "list"})), 69 """ 70 from rest_framework.viewsets import GenericViewSet, ModelViewSet 71 from rest_framework.mixins import ListModelMixin, CreateModelMixin, UpdateModelMixin 72 73 class view1View(ListModelMixin, GenericViewSet): 74 queryset = UserInfo.objects.all() 75 serializer_class = UserInfoSerializer 76 pagination_class = PageNumberPagination 77 78 """ 79 80 # TODO ModelViewSet 支持增删改查 81 # 继承 class ModelViewSet(mixins.CreateModelMixin, 创建数据 82 # mixins.RetrieveModelMixin, 获取单条数据 需要传ID 83 # mixins.UpdateModelMixin, 更新数据 需要传ID 84 # mixins.DestroyModelMixin, 删除数据 需要传ID 85 # mixins.ListModelMixin, 获取所有数据列表页 86 # GenericViewSet): 87 88 # 继承增删改查的视图类,对应的Url地址参数也需要修改为对应的参数 89 # 路由地址 re_path(r'^(?P
[v1|v2]+)/order/$', views.OrderVies.as_view({"get": "list"})), 90 # 增加对应的 增删改查地址,并获取id pk做对应的数据修改 91 # re_path(r'^v1/view4/(?P
\d+)/$', views.View4View.as_view( 92 # {'get': 'retrieve', 93 # 'delete': 'destroy', 94 # 'put': 'update', 95 # 'patch': 'partial_update'})), 96 # TODO 自动生成 路由规则 获取ID 对应上面的手写规则 97 """ 98 from rest_framework import routers 99 router = routers.DefaultRouter()100 router.register(r"order", views.order)101 102 re_path(r"^", include(router.urls))103 """104 """105 from rest_framework.viewsets import ModelViewSet106 class view1View(ModelViewSet):107 queryset = UserInfo.objects.all()108 serializer_class = UserInfoSerializer109 pagination_class = PageNumberPagination110 """111
posted on
2019-09-03 20:16  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/wordgao/articles/11455338.html

你可能感兴趣的文章
[转]Android中常用适配器及定义自己的适配器
查看>>
openjudge noi 鸡尾酒疗法
查看>>
函数对象、函数对象嵌套调用、函数定义、名称空间与作用域以及名称空间的查找顺序...
查看>>
WCF宿主asp.netMVC 并且发布restfull接口数据
查看>>
bzoj2823: [AHOI2012]信号塔&&1336: [Balkan2002]Alien最小圆覆盖&&1337: 最小圆覆盖
查看>>
四则运算随机生成器
查看>>
deeplenrnig学习笔记——什么是特征
查看>>
Java入门系列-23-NIO(使用缓冲区和通道对文件操作)
查看>>
来自java文档 HashMap类
查看>>
Java中的内部类(一)静态内部类
查看>>
failed to load the jni shared library jvm
查看>>
Javascript编码风格
查看>>
django
查看>>
ASP.NET MVC 3 新特性
查看>>
vue报错信息
查看>>
布林带
查看>>
数据平滑
查看>>
奇异值分解
查看>>
快速傅里叶变换模块(fft)
查看>>
随机数模块(random)
查看>>