Django 之 CBV与FBV

FBV:基于函数来实现视图对请求的处理

CBV:基于类来实现视图对请求的处理

  • 提升了代码的复用性,可使用面向对象的技术,好比Mixin(多继承)
  • 能够用不一样的函数针对不一样的HTTP方法处理,而不是经过不少if判断,提升代码可读性

实现一个处理GET方法的view,用FBV写的话是下面这样

from django.http import HttpResponse
def get_view(request):
    if request.method == 'GET':
       return HttpResponse('这是一个Get请求')

实现一个处理GET方法的view,用CBV写的话是下面这样

from django.shortcuts import HttpResponse,render
from django.views import View
class LoginView(View):
    def get(self,request):
       return render(request,'index.html')

    def post(self,request):
        return HttpRespnse('这是一个POST请求')

put请求:更新时使用--更新全局
patch请求:更新时使用--更新局部
delete请求:删除时使用
head请求:
options请求:
trace请求:html

相关文章
相关标签/搜索