Данные сессии работают на локальном сервере, а не на сервере - Django
У меня есть приложение Django, которое использует сессию cookie для передачи данных от одного к другому шаблону/функции.
Проблема, с которой я столкнулся, заключается в том, что при установке cookie либо на основе файлов, либо на основе БД, он отлично работает на локальном сервере, но когда я пытаюсь установить ту же сессию на сервере разработки Digital Ocean, она не работает по неизвестной причине.
Вот файл, который транзакция с сессией
settings.py
Попытка 1:
SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies"
SESSION_COOKIE_NAME = "user_session"
SESSION_COOKIE_HTTPONLY = True
SESSION_SAVE_EVERY_REQUEST = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
Попытка 2:
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
SESSION_FILE_PATH = os.path.join(BASE_DIR, "session")
views.py
def pre_login(request):
request.session['pre_login'] = data
....
def index(request):
user_data = request.session['pre_login']
....
При проверке сессии cookie в браузере, он создает sessionid для Localhost. Но при проверке сессии для того же кода, для моего сервера разработки ничего нет.
Помогите пожалуйста!!!
Вы устанавливаете значение в запросе. Когда вы пытаетесь получить его в другом представлении, вы выходите за пределы области видимости.
https://docs.djangoproject.com/en/4.0/topics/http/sessions/#using-sessions-out-of-views