Django"取真经"一次面向Django服务端的请求:

时间:2022-05-11
本文章向大家介绍Django"取真经"一次面向Django服务端的请求:,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

唐僧一行人受唐王李世民委派,携通关文牒,前往西天取经,一路斩妖除魔,经历九九八十一难,成功到达了西天大雷音寺,在僧人引导下,穿过罗汉堂,终见佛祖,佛祖接见唐僧师徒后,化佛法为经书,师徒取得经书后,兴致极好,未经检查就将经书加入行囊,欲离去之时,幸得弥勒佛指引,携无字经重返大雄宝殿,一番波折后,用紫金钵盂换得真经书,最后携带真经返回东土大唐...

这个故事很像浏览器与服务端Django的通讯过程:

西天取经

一次通讯

"唐王"

普通用户

"东土大唐"

浏览器

"西天取经"

一次面向服务端的请求

"通关文牒"

cookie

"路上的妖魔鬼怪"

"处理请求"中间件process_request

"雷音寺"

Django核心服务

"引路僧人"

路由表

"抵达大雄宝殿"

获得request对象

"十八罗汉"

中间件(process_view)

"佛祖"

视图函数 View

"佛法"

数据 Model

"无字经"

网页模板 Template

"紫金钵盂"

处理响应的中间件process_response

"弥勒佛"

负责异常处理的中间件process_exception

一次面向Django服务端的请求:

第一步:

  • 用户(唐王李世民)从浏览器(东土大唐)发起一次"请求"(西天取经),被"负责处理请求"中间件process_request(妖魔鬼怪,九九八十一难)进行初步处理;

第二步:

  • "请求"匹配路由表(引路僧人),找到对应的视图,先被中间件process_view处理(罗汉堂),然后被视图函数(佛祖)处理.

第三步:

  • 视图函数(佛祖)从数据库中获得数据(佛法),从Templates中获取模板(无字经),将数据与模板结合,产生响应对象("真经")

第四步:

  • 上步获得的响应对象("真经"),被处理响应的中间件process_response(如果不提供"紫金钵盂","真经书"可能会变成"无字经")处理,此时,如果响应出现了异常("真经"变成了"无字经"),会有process_exception(弥勒佛),进行异常处理

第五步:

  • 响应信息("获得的真经")返回浏览器("东土大唐")后,将响应信息("获得的真经")解析展示的用户("唐王")面前

白龙马,蹄朝西...

Django有多好用呢?在整个过程中,所有的中间件,Django都帮我们写好了,所以开发者只需要担任"佛祖"的角色即可!