Django中请求的生命周期 和 FBV模式和CBV模式
Posted askzyl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django中请求的生命周期 和 FBV模式和CBV模式相关的知识,希望对你有一定的参考价值。
Django的生命周期就是你的 一个请求所发生的整个流程
Django的生命周期内到底发生了什么呢??
1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者post,体现在url之中. 2. url经过Django中的wsgi,再经过Django的中间件,最后url到过路由映射表,在路由中一条一条进行匹配, 一旦其中一条匹配成功就执行对应的视图函数,后面的路由就不再继续匹配了. 3. 视图函数根据客户端的请求查询相应的数据.返回给Django,然后Django把客户端想要的数据做为一个字符串返回给客户端. 4. 客户端浏览器接收到返回的数据,经过渲染后显示给用户
首先: wsgi -------->中间件----------->路由系统----------->视图函数------------> 模板和orm --------------->返回给请求者
wsgi: 是web服务网关接口,一套协议
django中实现wsgi的模块有: wsgiref 和uwsgi模块
中间件:
路由系统就是django中的url
视图函数:就是views
模板是:template中的前端界面
orm 是你的django去操作你的数据库中的内容
wsgi是一个协议 是http协议
FBV模式和CBV模式:
FBV: 一个url对应一个视图函数
CBV:一个url对应一个类
一个url对应一个视图函数,这个模式叫做FBV(Function Base Views
)
除了FBV之处,Django中还有另外一种模式叫做CBV(Class Base views
),即一个url对应一个类
以上是关于Django中请求的生命周期 和 FBV模式和CBV模式的主要内容,如果未能解决你的问题,请参考以下文章