我的视图有装饰器,它创建新实例SomeClass
并使用此参数调用原始视图函数。
def decorator(orig_func):
def inner_func(request, *args, **kwargs):
api = SomeClass(request)
return orig_func(request, api, *args, **kwargs)
问题是内部的属性(变量)SomeClass
似乎在许多请求中都是持久的——例如,当view_one
它执行时,它会在 apu (SomeClass) 类中设置一些属性。在对这些属性的第二次请求中,view_two
仍然使用第一次请求中的值进行设置。我怎样才能避免这种情况?我需要简单的解决方案。
这是SomeClass:
class SomeClass:
some_variable = None
def __init__(self,value):
#self.some_variable = None
def setVariable(self,value):
self.some_variable = value
def getVariable(self):
return self.some_variable
我的问题是,当请求被执行并且被评论的行被评论时, some_variable 不是必需None
的——它在之前的请求中设置了值。所以我写了这个注释行来“清除”变量。
现在我有一个问题 - 这安全吗?是否有可能在另一个请求执行期间一个请求将清除此变量,并在另一个请求中将其覆盖为 None?