Как сохранить сессию между django и react между несколькими запросами?
Я пытаюсь установить переменную vendor_data
в моих представлениях на request.session в django.
class MyClass(APIview):
def post(self, request, format=None):
request.session['vendor_data'] = vendor_data # this is a dict
Затем я пытаюсь получить доступ к этому ключу vendor_data
в другом представлении DRF, например, так:
class AnotherClass(APIview):
def post(self, request, format=None):
vendor_data = request.session['vendor_data']
Но я получаю keyError
, отсутствует ключ «vendor_data».
Больше контекста:
API запущены на EC2 с открытым портом. API запрашиваются из реактивного окружения localhost, с ПК. Мой файл django settings.py разрешает все хосты и
ALLOWED_HOSTS = ['*']
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOWED_ORIGINS = [
'http://localhost:3002', # react app port
'http://127.0.0.1:3002',
'http://10.0.90.2:8008', # dummy django app port
'http://127.0.0.1:8008',
'http://localhost:8008',
]
SESSION_COOKIE_SECURE = False
SESSION_COOKIE_AGE = 300
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_COOKIE_SAMESITE = 'None'
Я пытаюсь зарегистрировать и аутентифицировать пользователя с помощью OTP. Я храню данные пользователя в сессии до тех пор, пока он не подтвердит OTP.
Но я не могу проверить OTP из-за ошибки ключа, которую я получаю в другом представлении.