グローバル変数に依存する Django アプリを作成しました。これは実際には、view.py のすべての機能で利用できるリポジトリ オブジェクトのようなものです。
コードからわかるように、各ビュー関数は rp グローバル変数を変更します。
view.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 を共有し、問題が発生するため、複数のユーザーが Web ページにアクセスする瞬間にこれが失敗するという印象を受けました。
グローバル変数を取り除き、両方の関数で rp にアクセスできるようにするための推奨される解決策は何ですか?