Django-如何在视图外部访问请求对象?

问题描述 投票:1回答:1

我在utilities.py目录中有一个名为app的文件,其中包含特定于我的应用的小型实用程序功能。我将从views.py调用这些函数。问题是某些实用程序功能需要访问request对象。

是否有任何方法可以在视图外部使用request对象而不将其作为实用程序函数的参数传递?

django request views
1个回答
0
投票

我制作了自定义Context类,该类在Django中间件中初始化,并将链接放置到request对象。

关于以下两个重要事项:

  1. [Context类必须继承threading.local,以防止在多个线程中运行应用程序时导致请求泄漏。
  2. Context设为单例。我为此使用了Singleton元类。

因此,您可以通过在代码的任何部分进行此调用来简单地获取Django请求对象:

request = Context().request
© www.soinside.com 2019 - 2024. All rights reserved.