В Django views.py я создаю сессию в методе A и пытаюсь прочитать ее в классе B. Ошибка: атрибут session не определен в классе B
Возможно, у этого есть простое решение. Надеюсь, вы сможете мне помочь.
Я отправил Ajax-пост в methodA
в views.py
. Все работает. Я хочу использовать переданную переменную в качестве сессии. Я думаю, что это работает, так как я могу вывести request.session[]
. Но теперь я хочу прочитать сессию в другом классе. Смотрите следующее:
@api_view(['POST'])
def methodA(request):
myvariable=request.data['list'] # This is an Ajax Post
request.session['myvar'] = myvariable # Creates session
print(request.session['myvar']) # It works. shows Ajax Post value
return JsonResponse({'success':True})
class classB(classC):
def myvarmethod(request):
print(request.session['myvar'])
def importantmethod(self):
self.myvarmethod()
...
return [...] # some stuff
Моя цель - вывести 'request.session['myvar']
' внутри классаB (в importantmethod()
). На выходе получается: объект classB
не имеет атрибута session
. Где мне нужно определить сессию? У меня она хорошо определена в settings.py
. Чего мне не хватает?
Решением является:
@api_view(['POST'])
def methodA(request):
myvariable=request.data['list'] # This is an Ajax Post
request.session['myvar'] = myvariable # Creates session
print(request.session['myvar']) # It works. shows Ajax Post value
return JsonResponse({'success':True})
class classB(classC):
def myvarmethod(self):
print(self.request.session['myvar'])
def importantmethod(self):
self.myvarmethod()
...
return [...] # some stuff