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')

  • 相关阅读:
    Centos 7 下安装LDAP 双主同步
    Apache Ranger && HDFS
    Java 学习(六)
    Java学习(五)
    Java学习(四)
    Java学习(三)
    Java学习(二)
    Java学习(一)
    css笔记
    磁盘性能测试方法
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10929586.html
Copyright © 2011-2022 走看看