我创建了一个依赖于全局变量的 Django 应用程序。它实际上是一种存储库对象,应该对我的 view.py 中的所有函数都可用。
正如将在代码中看到的,每个视图函数都会修改 rp 全局变量。
视图.py
def index(request):
global rp
rp = repo.Repo()
...
rp.function1()
rp.function2()
rp.attribute1 = value
return render_to_response('result_pick.html',{'result_list': rp.parsed_output_data, 'input_file_name': rp.input_file_name }, context_instance = RequestContext(request))
def result(request):
global rp
rp.function3()
local_atribute = rp.attribute1
....
return render_to_response('result_show.html' ,{'rp':rp}, context_instance = RequestContext(request))
浏览了一下后,我的印象是,当多个用户访问该网页时,这将失败,因为他们将共享全局 rp,这会导致问题。
摆脱全局变量但仍然能够在两个函数中访问 rp 的首选解决方案是什么?