python学习:Django的请求生命周期过程(6)

Django请求生命周期

        HTTP请求,实际上发送的是一段字符串,字符串分为请求头和请求体。当服务器返回也是返回一段字符串,分为响应头和响应体。

Django请求过程:

1.浏览器输入url地址,提交请求,或者form表单提交请求;

2.根据urls的路由,查找视图函数,也可以是类

3.视图函数处理请求,或者类方法处理请求。

4.请求处理完成,构建响应头,响应体,返回响应字符串。

 

使用函数方式处理请求FBV

使用类方法处理请求CBV

示例:

修改views.py视图函数文件:

from django.views import View
#使用类方法,处理url
class CBV(View):
    #执行get,post方法前,必须执行disptch方法,
    #当登陆认证,判断是否登陆,认证逻辑可以写在dispatch方法
    def dispatch(self, request, *args, **kwargs):
        print("执行dispatch方法")
        return super(CBV,self).dispatch(request,*args,**kwargs);

    def get(self,request):
        return  HttpResponse("get方法");
    def post(self,request):
        return  HttpResponse("post方法");

添加urls.py,添加url

path("cbv/",views.CBV.as_view())

返回响应字符串构建

示例:

#构建响应头,响应体

#其中返回字符串,页面文件作为响应体

ret = HttpResponse("get方法")

#我们添加的cookie,其他键值对作为响应头

ret.set_cookie("cook1","value1")

#其他响应头键值对

ret["head1"] = "value1"

return  HttpResponse("get方法");

 

posted @ 2020-12-19 14:26  渔歌晚唱  阅读(75)  评论(0)    收藏  举报