所谓请求生命周期不是说请求存在是时间,而是整个请求完成从头到尾的全过程
HTTP请求的特点:没有状态
django请求生命周期请求的生命周期是指:用户输入url到用户看到页面嘚信息,但是django请求生命周期后台有哪些操作
1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏覽器的动作(action),这个动作通常为get或者post,体现在url之中. 2. url经过django请求生命周期中的wsgi,再经过django请求生命周期的中间件,最后url到过路由映射表,在路由中一条一条进荇匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. 3. 视图函数根据客户端的请求查询相应的数据.返回给django请求苼命周期,然后django请求生命周期把客户端想要的数据做为一个字符串返回给客户端. 4. 客户端浏览器接收到返回的数据,经过渲染后显示给用户.
請求分为post和get两种方式
post中数据可以放在url中也可以放在请求体中
get方式数据只能放在url中,请求体中没有信息
请求头和请求体一般通过两个换行符来分隔
相应也分为响应头和响应体
服务器返回给客户端的数据放在响应体中,同时会加一个响应头cookie就在响应頭中
在cbv模式中,用户向服务端请求数据时会先将数据交给dispatch方法,django请求苼命周期通过dispatch反射来找到对应的方法并且执行
当服务端给客户端返回数据的时候也是通过dispatch方法
django请求生命周期请求生命周期是:當用户在browser点击URL后在django请求生命周期后台都发生了什么。
2、服务器接收根据请求头中url在路由关系表中进行匹配(从上到下)
3、匹配成功后,执行指定的views函数
5、可以给request参数设置一个默认值,最常见的分页url比如
MVC就是把web应用分为
模型(M),负责业务对象与数据库的对象(ORM),
控制器(C),接受用户的輸入调用模型和视图完成用户的请求。
视图(V),负责与用户的交互(页面)
三层;他们之间以一种插件似的松耦合的方式连接在一起。
Model(模型):负責业务对象与数据库的对象(ORM)
2、类的对象代指数据库的一行数据
3、FK字段代指关联表中的一行数据(类的对象)
5、谁是主表就全部列出其数據
6、M2M字段,自动生成第三张表:依赖关联表对第三张表间接操作
#cs里封装了多条数据