• Django rest-framework框架-CBV原理


    jdango中间件:
    class Test(View):
      def dispatch(self, request, *args, **kwargs):
        #第一种方法
        func = getattr(self,request.method.lower())#反射
        ret = func(request,*args,**kwargs)
        #第二种方法
        ret = super(Test,self).dispatch(request, *args, **kwargs)
        return ret

      def get(self, request,*args,**kwargs):
        return HttpResponse("GET")
      def post(self, request,*args,**kwargs):
        return HttpResponse("GET")
    CBV原理:
    - url->view方法->dispatch方法(反射执行其他:GET/POST/DELETE/PUT)

    继承dispatch:

    class Base(View):
             def dispatch(self, request, *args, **kwargs):
        print(before)
        ret = super(Base,self).dispatch(request, *args, **kwargs)
        print(after)
          return ret

    class Test(Base,View): #继承Base
      def  get(self, request,*args,**kwargs):
        return HttpResponse("GET")
      def post(self, request,*args,**kwargs):
        return HttpResponse("GET")

  • 相关阅读:
    Ant属性文件
    使用numpy处理数组
    机器学习实战之决策树(一)
    列表去掉重复元素
    cv2.putText,cv2.rectangle方法
    sklearn 中文文档
    numpy delete方法
    MATLAB ~的用法
    MATLAB 基础
    Python 遍历目录下的子目录和文件
  • 原文地址:https://www.cnblogs.com/kuku0223/p/11325861.html
Copyright © 2020-2023  润新知