У меня есть простая проблема, я разрабатываю что-то, для чего мне нужно, чтобы некоторые классы обращались к некоторым распространенным переменным, таким как:
somevar="foo"
class A(SomeParent):
def eval_class(self):
global somevar
return somevar
def index(request,input_somevar):
global somevar
somevar=input_somevar
return HttpResponse(A().eval_class())
Проблема: этот код работает на django, поэтому каждый запроскод все еще будет работать, а somevar получит новое значение.Если запросы перекрываются, я включу значения somevar для одного запроса, которые устанавливаются другим запросом.
Решение?Мне пришло в голову использовать экземпляры одного класса.
Class Parent:
somevar=None
def set_somevar(self,somevar):
self.somevar=somevar
class A(SomeParent): #Note: the parent of this class is NOT "Parent".
def eval_class(self):
#Here I would like to retrieve somehow "somevar"
return somevar
def index(request,input_somevar):
p=Parent()
p.set_somevar(input_somevar)
return HttpResponse(p.A().eval_class())
ПРИМЕЧАНИЕ: Я не могу передавать переменные в классы, они должны иметь возможность доступа к "вмещающему"но не родительский класс », так как они являются классами функций sympy, которые необходимо передать интерпретатору sympy.
Заранее спасибо!