我正在尝试从自定义 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 函数的参数的原因。
我想你可以把它变成某种全局变量,但这是一种荒谬的做法。
关于python - 在实用程序函数中使用 Django request.session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58153911/