博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视图和路由
阅读量:6283 次
发布时间:2019-06-22

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

视图

  第一种方法:

-from rest_framework.mixins import ListModelMixin, CreateModelMixin            # class PublishView(GenericAPIView, ListModelMixin, CreateModelMixin):            #     queryset = Publish.objects.all()            #     serializer_class = PublishSerializers            #            #     def get(self, request):            #         return self.list(request)            #            #     def post(self, request):            #         # 添加一条数据            #         return self.create(request)

  第二种方法:

ListCreateAPIView 继承了GenericAPIView, ListModelMixin, CreateModelMixin            # class PublishView(GenericAPIView, ListModelMixin, CreateModelMixin):            # class PublishView(ListCreateAPIView):            #     queryset = Publish.objects.all()            #     serializer_class = PublishSerializers

  第三种方法:

路由:url(r'^publish/$', views.PublishView.as_view({
'get': 'list', 'post': 'create'})), url(r'^publish/(?P
\d+)', views.PublishView.as_view({
'get': 'retrieve', 'put': 'update','delete':'destroy'})),from rest_framework.viewsets import ModelViewSetclass PublishView(ModelViewSet): queryset = Publish.objects.all() serializer_class = PublishSerializers

  第四种方法:ViewSetMixin 它有什么作用?用了它之后,视图类中不需要写get,post,put方法了,自己定义方法就可以了 让请求方法对应到自己定义的方法上,配置路由

路由控制      三种:           -一种基本路由:url(r'^publish/$', views.PublishView.as_view()),           -半自动路径:views.PublishView.as_view({'get': 'list', 'post': 'create'}))            -必须继承:ViewSetMixin       -继承ViewSetMixin的先后顺序     -全自动路由:(基本不用)       -from rest_framework import routers       # 生成一个router对象       router=routers.DefaultRouter()       # 需要传两个参数,第一个参数就是匹配的路径,第二个参数,是视图类       router.register('publish',views.PublishView)    url('', include(router.urls)),       #自动生成四个路由(PublishView必须继承ModelViewSet) 响应器:(基本上不需要你配置)   局部配置   视图类中:     -renderer_classes=[JSONRenderer,BrowsableAPIRenderer]   全局配置   在setting中:     REST_FRAMEWORK = {       'DEFAULT_RENDERER_CLASSES':['rest_framework.renderers.JSONRenderer']     }

转载于:https://www.cnblogs.com/zhouhao123/p/10132573.html

你可能感兴趣的文章
254页PPT!这是一份写给NLP研究者的编程指南
查看>>
《Data Warehouse in Action》
查看>>
String 源码浅析(一)
查看>>
Spring Boot 最佳实践(三)模板引擎FreeMarker集成
查看>>
Fescar 发布 0.2.3 版本,支持 Redis 和 Apollo
查看>>
Google MapReduce到底解决什么问题?
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>