Django:Django 中的堆栈顺序是什么?

标签 django django-models django-middleware

我认为这是正确的提问方式。我想知道代码的哪些部分首先执行,第二个执行,等等。

我的假设是,但我不知道:

  1. 请求
  2. 中间件
  3. 查看
  4. 型号
  5. 中间件
  6. 回复

我问的原因是因为我希望基于请求变量在模型中动态发生一些事情,并且我正在尝试设置自动将请求添加到模型层而不传递的最佳方法通过 View 。我认为某种中间件奇妙的装置可以以某种方式做到这一点。

最佳答案

为了回答您的澄清评论——您无法从这里到达那里。

models.py 只是一个放置模型类的文件,这些类只是可以从任何地方访问的类。除非将 request 对象传递给您正在使用的函数,否则它不存在,并且不存在 request.user。模型可以在任何地方使用,而不仅仅是在有请求的上下文中。

如果您需要使用请求对象,请将其作为参数传递。如果这没有意义,那么你就错误地使用了你的模型。

关于Django:Django 中的堆栈顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160101/

相关文章:

python - Django:从中间件获取页面标题

django - 在身份验证中间件之后调用自定义中间件

Django按请求值(id__in)的查询集排序

python - django.core.exceptions.ImproperlyConfigured : Set the DATABASE_URL environment variable

python - 在 Django 中建模复杂的关系

python - 下载远程图像并将其保存到 Django 模型

python - Django:外键链接 2 个表

python - django 如何处理二进制 post 数据?

python - 如何将文本中的字母更改为其他字母 | Python 2.7?

Django:安全中间件使站点崩溃