【发布时间】:2017-07-21 17:37:14
【问题描述】:
我需要一些帮助,我有一个具有经典用户管理功能的 Web 应用程序(帐户创建、登录、...)。我的问题是我试图在每个用户连接(登录)时为每个用户创建一个对象“UserObject”(不可序列化对象)的实例,该对象将用于处理某些视图中的用户请求,因此该对象必须是可以从任何视图访问,因为我在 view.py 中有一个全局字典“users_objects”,其中包含所有用户对象(字典键是用户名,值是“UserObject”对象),所以 view.py 看起来像这样:
from user_object import UserObject
users_objects = {}
def login(request):
//login control and creation of session and context
......
......
global users_objects
user_name = request.session['name']
users_objects[user_name] = UserObject()
return render(request, 'mySite/home.html', context)
def request_view(request):
param = request.GET.get('parameter', None)
global users_objects
user_name = request.session['name']
obj = users_objects[user_name]
res = obj.process(param)
return HttpResponse(str(res))
这种方法适用于 django dev-server,但是当我使用真正的生产服务器 (apache) 配置 django 时,全局字典“users_objects”的内容消失了,我得到了一个空字典。请问,有谁知道为什么会这样??以及使用全局字典的最佳解决方案是什么 在django ?? 提前谢谢你
【问题讨论】:
标签: python django apache dictionary