У меня есть два API Django.Я устанавливаю переменную сеанса в одном из API и пытаюсь получить те же данные переменной сеанса в другом API.Но проблема в том, что данные переменной сеанса могут быть прочитаны только в API, в котором была установлена переменная сеанса.
Например:
API 1
@api_view(['GET'])
def api_one(request):
request.session['d'] = 'data_value'
request.session.modified = True
API 2
@api_view(['GET'])
def api_two(request):
print(request.session['d'])
# The above statement returns KeyError stating that key ['d'] doesn't
# exists
Итак, в приведенном выше примере я устанавливаю request.session ['d'] в 'data_value' в api_one и пытаюсь получить значение request.session ['d'] в api_two.Но это не работает, так как я получаю «KeyError», когда пытаюсь получить request.session ['d']
Ниже приведены мои настройки в settings.py:
SESSION_COOKIE_HTTPONLY = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_COOKIE_AGE = 86400
SESSION_SAVE_EVERY_REQUEST = True
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Я могу четко заметить, что Django делает свое дело на стороне БД, поскольку новые записи сеанса создаются в таблице django_session, как и ожидалось.
Итак, я хотел знать, возможно ли установить переменные сеанса в одном APIи использовать их в других API.
Спасибо заранее.