zoukankan      html  css  js  c++  java
  • django中的FBV和CBV

    一、FBV

    FBV(function base views) 就是在视图里使用函数处理请求。

      

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('test_fbv', test_fbv),
        path('test_cbv', TestCBV.as_view())
    ]

    二、CBV

    CBV(class base views) 就是在视图里使用类处理请求。

    def test_fbv(request):
        return HttpResponse("ok")
    
    class TestCBV(View): def get(self, request): return HttpResponse("ok")

    通过源码as_view()方法,那我们看下我们这个方法里做了什么,

     

    我们可以看出~CBV在内部做了一个分发~本质和FBV是一样的~~

    以后做接口开发的时候,我们就要用CBV,我们之前学了restful规范,现在就很容易理解我们为什么用CBV了。

    面向资源编程,并且用HTTP的请求方式来对资源进行操作,还要遵循这些方法的语义,所以我们选择CBV编写我们接下来的视图函数。

          

  • 相关阅读:
    shiro之cache问题
    SpringMVC关于请求参数乱码问题
    js递归错误
    说说Javac
    说说CDN
    谈谈HTTP
    谈谈Ajax(二)
    谈谈Ajax(一)
    记一次关于SSM框架的使用错误
    MP实战系列(十四)之分页使用
  • 原文地址:https://www.cnblogs.com/sunny666/p/11184680.html
Copyright © 2011-2022 走看看