我认为这是正确的提问方式。我想知道代码的哪些部分首先执行,第二个执行,等等。
我的假设是,但我不知道:
- 请求
- 中间件
- 查看
- 型号
- 中间件
- 回复
我问的原因是因为我希望基于请求变量在模型中动态发生一些事情,并且我正在尝试设置自动将请求添加到模型层而不传递的最佳方法通过 View 。我认为某种中间件奇妙的装置可以以某种方式做到这一点。
最佳答案
为了回答您的澄清评论——您无法从这里到达那里。
models.py 只是一个放置模型类的文件,这些类只是可以从任何地方访问的类。除非将 request
对象传递给您正在使用的函数,否则它不存在,并且不存在 request.user
。模型可以在任何地方使用,而不仅仅是在有请求
的上下文中。
如果您需要使用请求对象,请将其作为参数传递。如果这没有意义,那么你就错误地使用了你的模型。
关于Django:Django 中的堆栈顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160101/