CBV的请求流程view的执行步骤
2019-05-05 本文已影响0人
爽爽ing
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方法

