Skip to main content
 首页 » 编程设计

python之在实用程序函数中使用 Django request.session

2024年11月01日31lonelyxmas

我正在尝试从自定义 util 函数 util.py 调用 request.session.get('items', {})。

但在该文件中,request 对象不可访问,我可以从 views.py 传递请求对象,但我不想这样做。有什么方法可以在自定义函数(不是 View /模板)中使用请求对象。

我尝试从 django.http import HttpRequest 导入,但此类没有任何 session 变量。 django 初学者,感谢任何帮助。

util.py:

def processData(data=None): 
   ## get items form  session 
   items = request.session.get('items', {})  ## error name 'request' is not defined 
   # append with data 
   items.update(data) 
   return items  

请您参考如下方法:

你必须通过它。没有其他选择。

request 不是一些通用变量,您只能从其他地方导入。相反,它是一组特定于刚刚提出的特定请求的信息。它包含诸如 cookie 和当前 URL 之类的内容。

它会在有人通过服务器发出请求时生成,这就是为什么您将它视为 View 函数的参数的原因。

我想你可以把它变成某种全局变量,但这是一种荒谬的做法。