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