Сеансы Django не работают на удаленном сервере
Я пытаюсь использовать переменную сессии в моем приложении django
view.py
def get(self, request):
room_name = request.session.get('room_name', str(uuid.uuid4().hex))
context = app.get_context(room_name)
context['room_name_create'] = room_name
context['room_name_check'] = request.session.get('room_name')
return render(request, self.template, context)
js
console.log('a', context.room_name_create)
console.log('b', context.room_name_check)
Это отлично работает на моем локальном сервере.
На удаленном сервере context.room_name_create показывает значение, но context.room_name_check показывает как null в браузере.
Это всего лишь небольшое приложение, и я скопировал все исходные файлы на удаленный сервер, поэтому все исходники идентичны. Я протестировал это на разных браузерах
Может ли кто-нибудь подсказать, что я могу проверить, чтобы решить эту проблему?
Чтобы работать с сессией в Django, вам нужно сделать 2 раза:
Установите данные в сессии.
В вашем случае room_name = request.session.set('room_name') = some_value
или
room_name = request.session['room_name'] = some_value
Получение данных из сессии.
В вашем случае room_name = request.session.get('room_name')
Примечание : Вам необходимо сначала установить данные в сессии, прежде чем пытаться их получить.