【发布时间】:2011-05-15 04:11:17
【问题描述】:
所以我一直在玩 django,我真的很喜欢这个框架。但是,我想更好地了解它实际上是如何“在幕后”工作的。
这是我目前对 client-server-django 世界的看法,它非常粗糙,可能会让你的脚趾甲卷曲(对不起)......
- 浏览器向服务器发送Http请求。
- 服务器发挥作用并通过 CGI 将请求转储到 django (?)
- django 的某些部分(哪个?)接收请求并将其转换为 django 请求对象。
- 请求对象在通过中间件的一些模糊路径上徘徊,这些中间件用它做奇怪的事情。
- 请求对象最终以某个函数(哪个?)结束,该函数查看 url,从 urls.py 中提取模式并调用视图函数。
- 视图函数发挥了它们的魔力(与模型和模板作为副伙伴),这可能是我理解错觉最强烈的地方(好吧,除了数据库抽象魔法,那就是......;)李>
- 视图函数返回一个 HttpResponse 对象,我猜这是在 CGI 的一些模糊路径上返回的。
- Webserver 再次接管并将 Http 响应发送给客户端。
好的,那你问我的问题到底是什么?那么,这一切是如何运作的,真的吗?我并不指望你把所有东西都喂给我……我怀疑答案最终会是“阅读源代码,卢克”,但是,如果
- 你可以澄清我的严重误解
- 告诉我从哪里开始?我想做的是抓住一个调试器,然后在这个过程中走几遍,但我真的不知道从哪里开始
- 您可以向我指出任何可以很好地解释这一点的文件......是的,我听说过这个 google 的东西,但还没有真正发现任何超级有用的东西。
非常感谢 保罗
【问题讨论】:
标签: django cgi webserver internals