zoukankan      html  css  js  c++  java
  • Django CBV和FBV

    Django CBV和FBV

    Django内部CBV内部接收方法操作:

    1、通过客户端返回的请求头RequestMethod与RequesrtURL,会以字符串形式发送到服务器端。

    2、取到值后通过dispatch方法将请求头转换为小写,然后通过反射查找类里的对应方法。

    • /index/ -> 函数名
    • /index/ -> 类

    注:FBV & CBV 建议两者都用。


    FBV:function base view

    # url.py
    index -> 函数
    urlpatterns = [
                path('admin/', admin.site.urls),
               path('index/', views.函数名),
    ]
    
    # view.py
    def 函数名(request):
                return HttpResponse('Index')

    CBV:class base view

    # url.py
    index -> 类
    urlpatterns = [
               path('admin/', admin.site.urls),
                path('home/', views.类名.as_view()),
    ]
    
    # view.py
    class 类名(View):
      # 调用父类中的dispatch,保留父类功能的基础上增加功能
      def dispatch(self, request, *args, **kwargs):
                print("定制功能1")
                result = super(Home,self).dispatch(request,*args,**kwargs)
                print("定制功能2")
                return result
    
      def get(self,request):
                return render(request,'home.html')

  • 相关阅读:
    C++ unordered_set运用实例
    C++ Multimap运用实例—查找元素
    C++ Multimap运用实例
    C++ Map运用实例
    C++ Set运用实例
    C++ list运用实例
    C++ vector使用实例
    c++ Array运用实例
    C++ int double float对应的长度以及二进制
    引用和指针有什么区别
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10929586.html
Copyright © 2011-2022 走看看