DjangoFBV模式和CBV模式

Posted q1ang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DjangoFBV模式和CBV模式相关的知识,希望对你有一定的参考价值。

FBV(Function Base Views):一个url对应一个视图函数

CBV(Class Base views):一个url对应一个类


urls:

urlpatterns = [
    url(r‘^fbv/‘,views.fbv),
    url(r‘^cbv/‘,views.CBV.as_view()),
]

views:

from django.views import View

class CBV(View):
    def get(self,request):
        ...

    def post(self,request):
        ...
    
    
def fbv(request):
    ...

在FBV的模式下:url匹配成功之后,会直接执行对应的视图函数

在CBV模式下:url匹配成功之后,会找到视图函数中对应的类,然后这个类回到请求头中找到对应的Request Method

  • 如果是客户端以POST的方式提交请求,就执行类中的post方法
  • 如果是客户端以GET的方式提交请求,就执行类中的get方法

以上是关于DjangoFBV模式和CBV模式的主要内容,如果未能解决你的问题,请参考以下文章

django restfulwork 源码剖析

CBV模式和model form组件

Django之FBV和CBV模式

django form表单组建使用及CBV模式

django form表单组建使用及CBV模式

django补充CBV和FBV模式