假设我在views.py中有以下两个函数:
def foo(request):
class_instance = SomeClass()
return HttpResponse('whatever')
def bar(request):
# here I want to access class_instance
最初,调用foo()
,稍后调用bar()
,我想在其中访问变量class_instance
。
有没有办法实现这一点,既没有使用request.session
也没有使用Django模型(例如django.db.models
)?
(注意:我在views.py中对全局变量运气不错,但无论如何这可能是一个坏主意,并且不知何故并不总是有效)
答案 0 :(得分:0)
您可以将变量作为模块常量,特别是如果它不易变化太多。
CLASS_INSTANCE = SomeClass()
def foo(request):
return HttpResponse('whatever')
def bar(request):
# here I want to access CLASS_INSTANCE
然后两个方法都可以访问它,但请记住,函数不能以这种方式改变常量的值。
PS:实际上你可以改变全局的价值:
CLASS_INSTANCE = SomeClass()
def foo(request):
global CLASS_INSTANCE
CLASS_INSTANCE = SomeClass() # new instance
return HttpResponse('whatever')
def bar(request):
# here I want to access CLASS_INSTANCE