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

  • 相关阅读:
    多测师讲解app测试 _app原理图解_高级讲师肖sir
    多测师讲解 app_模拟器的端口号_高级讲师肖sir
    多测师讲解appium _开启注意点_高级讲师肖sir
    多测师讲解app _xpath插件_高级讲师肖sir
    多测师讲app测试 _appium实战(1)_高级讲师肖sir
    多测师讲解app测试 _ADB常用的指令_高级讲师肖sir
    jmeter分布式测试
    常用命令
    Linux安装pycharm
    请求头信息介绍
  • 原文地址:https://www.cnblogs.com/maojiang/p/9407957.html
Copyright © 2011-2022 走看看