전역 변수를 사용하는 장고 앱을 만들었습니다. 사실 내 view.py의 모든 함수에서 사용할 수있는 일종의 저장소 개체입니다.Django보기에서 전역 변수를 없애고 있습니까?
코드에서 볼 수 있듯이 각보기 기능은 rp 전역 변수를 수정합니다.
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))
view.py는 약간의 검색 후, 나는이 그들이 글로벌 RP를 공유 할 것이며, 그 문제를 일으킬 것이기 때문에 여러 사용자가 웹 페이지에 액세스 할 순간을 실패 할 것이라는 인상을 받았습니다.
전역 변수를 제거하지만 두 기능 모두에서 여전히 rp에 액세스 할 수있는 가장 좋은 해결책은 무엇입니까?
예,이 같은 뷰 함수 내에서 전역에 할당하는 것은 정말 나쁜 생각이다 : 당신은 일단으로
그것은 그 간단을 설정합니다. 전역 객체를 가지려면 특정 요청의 상태와 관련이없는 진정한 글로벌 객체 여야합니다. –