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都帮我们写好了,所以开发者只需要担任"佛祖"的角色即可!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏玄魂工作室

RFID Hacking②:PM3入门指南

0x00 前言 Proxmark3是由Jonathan Westhues在做硕士论文中研究Mifare Classic时设计、开发的一款开源硬件,可以用于RF...

695110
来自专栏QQ音乐技术团队的专栏

Android Wear 开发初探

Android Wear从2014年3月发布到现在已经从1.0发展到2.0(目前还没正式发布)。其产品定位也发化了巨大变化,因为Android Wear 1.0...

52590
来自专栏FreeBuf

Palo Alto Networks:新型恶意软件家族Reaver与SunOrcal存在一定联系

概要 Unit 42安全小组已经发现了一种新的恶意软件家族,并将其命名为“Reaver”。研究人员表示,这一新型恶意软件与在2016年针对中国台湾地区的黑客攻击...

26850
来自专栏王亚昌的专栏

WinPcap在无线局域网下的使用

    最近在做网关方面的项目,用到了WinPcap开发库去获得数据帧,这个开发库功能很强大,但是在无线局域网环境下使用时有一些不同,下面就WinPcap的使用...

14120
来自专栏安恒信息

“永恒之蓝”勒索病毒安全事件应急指导手册(附工具包)

相关说明 北京时间2017年05月12日,安恒信息监测到黑客利用NSA黑客武器库泄漏的“永恒之蓝”工具发起的网络攻击事件:大量服务器和个人PC感染病毒后被远程控...

40770
来自专栏闵开慧

php中使用time获取到当前小时数不对

php中使用time获取到当前小时数不对 解决办法: 通常是php.ini中的时区timezone设定没有设成中国Asia/Shanghai导致有时差。...

40580
来自专栏FreeBuf

从某电商钓鱼事件探索黑客“一站式服务”

深信服EDR安全团队,整理分析了一起某电商钓鱼事件,通过关联信息,发现背后可能存在一个“产业链齐全”的黑客团伙,研究发现其具备“一站式服务”的黑客攻击手段。

15230
来自专栏walterlv - 吕毅的博客

在 GitHub 公开仓库中隐藏自己的私人邮箱地址

2018-08-05 08:56

25210
来自专栏非著名程序员

实现夜间模式真就这么简单?!

今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:《Android Material Design系列之夜间模式》。在Android 5.0 之后,实现夜间模式...

22790
来自专栏blackpiglet

Discourse 搭建

Discourse 是由 Stack Overflow 创始人之一的 Jeff Atwood 主导的开源论坛项目,使用时能感受到和 Stack Overflow...

35120

扫码关注云+社区

领取腾讯云代金券