Данные сессии работают на локальном сервере, а не на сервере - 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

Вернуться на верх