zoukankan      html  css  js  c++  java
  • restframeword之视图,解析器

     

     

    最终版本 五个方法封装

    位置参数 看源码

    视图四个方法:

    视图

     

        (1) (常用)

          

    class AuthorSerializers(serializers.ModelSerializer):
    
        class Meta:
    
            model=Author
    
            fields="__all__"
    
     
    
            class AuthorView(APIView):
    
         def get():
    
         pass
    
     def post():
    
         pass
    
     
    
         class AuthorDetailView(APIView):
    
         def get():
    
         pass
    
     def delete():
    
         pass
    
                 def put():
    
                     pass
    
     
    View Code

    from rest_framework.mixins import CreateModelMixin,ListModelMixin,DestroyModelMixin,RetrieveModelMixin,UpdateModelMixin

    from rest_framework import generics

     

         (2)  class AuthorView(CreateModelMixin,ListModelMixin,generics.GenericAPIView,):

    queryset=Author.objects.all
    
    serializer_class=AuthorSerializers
    
     
    
    def get(self,request):
    
    return self.list(request)
    
    def post(self,request):
    
     
    
    return self.create(request)
    
     
    
    class AuthorDetailView(DestroyModelMixin,UpdateModelMixin,RetrieveModelMixin,generics.GenericAPIView,):
    
    queryset = Author.objects.all
    
    serializer_class = AuthorSerializers
    
     
    
    def get(self,request, *args, **kwargs):
    
       return self.retrieve(request, *args, **kwargs)
    
     
    
    def put(self,request, *args, **kwargs):
    
       return self.update(request, *args, **kwargs)
    
     
    
    def delete(self,request, *args, **kwargs):
    
    return self.destroy(request, *args, **kwargs)
    
     
    View Code

          (3)   class AuthorView(generics.ListCreateAPIView):

    class AuthorView(generics.ListCreateAPIView):
    
     
    
    queryset=Author.objects.all
    
    serializer_class=AuthorSerializers
    
     
    
    class AuthorDetailView(generics.RetrieveUpdateDestroyAPIView):
    
    queryset = Author.objects.all
    
    serializer_class = AuthorSerializers
    View Code

    from rest_framework.viewsets import ModelViewSet

      (4)   class AuthorModelView(ModelViewSet):(常用)

    class AuthorModelView(ModelViewSet)
    
     
    
    queryset=Author.objects.all()
    
    serializer_class=AuthorSerializers
    View Code

    解析器 

    如果一个属性点一个没有的属性

     

    就会执行这个

    可以定义全局

     

     

    解析器是什么时候执行,request.data

     解析器

        class APIView:

         parser_classes = api_settings.DEFAULT_PARSER_CLASSES

  • 相关阅读:
    最小生成树模板(Prim+Kruskal)
    最短路模板(Dij+Floyd)
    LeetCode双周赛#33 题解
    CSS3 学习笔记(中)
    拓扑排序小测试
    串和矩阵压缩的小测试
    树的相关小测试 题解
    Leetcode 周赛#202 题解
    HTML5 学习笔记
    Leetcode 双周赛#32 题解
  • 原文地址:https://www.cnblogs.com/maojiang/p/9407957.html
Copyright © 2011-2022 走看看