CBV的请求流程view的执行步骤

1,找到类方法里面的view,我们点进去

class StudentsView(View):
    result = {
        'code': 1001,
        'method': None
    }
    def get(self,request,*args,**kwargs):
        self.result['method'] = 'GET'
        return HttpResponse(json.dumps(self.result,ensure_ascii=False),status=200)
    def post(self,request,*args,**kwargs):
        self.result['method'] = 'POST'
        return HttpResponse(json.dumps(self.result,ensure_ascii=False),status=200)
    def delete(self,request,*args,**kwargs):
        self.result['method'] = 'DELETE'
        return HttpResponse(json.dumps(self.result,ensure_ascii=False),status=200)
    def put(self,request,*args,**kwargs):
        self.result['method'] = 'PUT'
        return HttpResponse(json.dumps(self.result,ensure_ascii=False),status=200)

一,执行as_view方法

二,根据return 这个值,找到view方法,然后调用这个值,找到dispatch方法

self = cls(**initkwargs) 这个self 是指当前这个类方法,是图一 class StudentsView(View):


在view中找到请求方法,找到后执行方法

然后找到这个相应方法,得到返回值 其实那个handler就是get方法


你可能感兴趣的:(CBV的请求流程view的执行步骤)