zoukankan      html  css  js  c++  java
  • 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")

  • 相关阅读:
    洛谷 P1019单词接龙
    洛谷 P1091合唱队列
    洛谷 P1141 01迷宫
    洛谷 P1101单词方阵
    NOIP要炸?
    洛谷 P1219八皇后
    洛谷 P1181数列分段Section I
    刷普及-刷爆了。。。。。。
    洛谷 P3952时间复杂度 (本地AC测评RE的伪题解)
    动态数码管
  • 原文地址:https://www.cnblogs.com/kuku0223/p/11325861.html
Copyright © 2011-2022 走看看