我一直在尝试使用Django,并且真的很喜欢这个框架。然而,我想更好地了解它是如何“背后工作”的。
以下是我目前对客户端-服务器-Django世界的看法,可能非常粗略,可能会让你的脚趾弯曲(抱歉)...
- 浏览器向服务器发送HTTP请求。
- 服务器通过CGI将请求转储到Django(?)
- Django的某些部分(哪些部分?)接收请求并将其转换为Django请求对象。
- 请求对象通过中间件走过一些模糊的路径,中间件对其进行奇怪的操作。
- 请求对象最终到达某个函数(哪个函数?),该函数查看URL,从urls.py中提取模式并调用视图函数。
- 视图函数与模型和模板合作完成其任务,这可能是我对其理解最深刻的地方(当然,除了数据库抽象魔术之外... ;)
- 视图函数返回HttpResponse对象,我猜这会通过某些模糊的路径返回到CGI。
- Web服务器再次接管并将HTTP响应发送给客户端。
好的,那我的问题是什么?你问。好吧,这一切真的是如何工作的呢?我并不指望你把一切都喂给我...我怀疑答案最终是“阅读源代码,卢克”,但是,我会很感激如果:
- 您能澄清我的误解
- 告诉我从哪里开始?我想做的就是使用调试器走过这个过程几次,但我不知道从哪里开始。
- 您可以指向任何很好地解释这个问题的文档...是的,我听说过谷歌,但是没有找到什么超级有用的。
非常感谢 保罗