drf路由配置 解析器 响应器

  ViewSetMixin

    # ViewSetMixin 写在前面,先找ViewSetMixin的as_view方法

    # 用了ViewSetMixin,视图类中,不需要再写get,post,delete...这些函数了,函数名可以自定义

    # 而且这个视图类,可以响应多条路由

    -使用:

      -urls.py中

      url(r'^publishs/',views.PublishView.as_view({'get':'aaa','post':'ddd'})),

      url(r'^bbb/',views.PublishView.as_view({'get':'bbb','post':'ccc'})),

      -视图类中:

        class PublishView(ViewSetMixin,APIView):

          def aaa(self,request):

            return Response({'status':100})

          def bbb(self,request):

            return Response({'bb':"bbb"})

    -url控制      

      -传统的url配置
        url(r'^books/$', views.BookView.as_view()),
        url(r'^books/(?P<pk>\d+)$', views.BookDetailView.as_view()),
      -半自动
        url(r'^publish/$', views.PublishView.as_view({'get':'list','post':'create'})),
        url(r'^publish/(?P<pk>\d+)/$', views.PublishView.as_view({'get':'retrieve','put':'update','delete':'destroy'})),
      -全自动(了解)
      -能自动生成多条路由
      -解析器
      -源码从request.data
      -全局配置
        -'DEFAULT_PARSER_CLASSES':['rest_framework.parsers.JSONParser'],
      -局部配置
        parser_classes=[JSONParser,]
      -响应器(一般用默认就可以了)
      -局部配置
        renderer_classes=[JSONRenderer,]
      -全局配置
        'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
        )

猜你喜欢

转载自www.cnblogs.com/xiaocaiyang/p/10453252.html