Django: session_key - пустая строка
Я использую платформу аналитики для отслеживания взаимодействия с пользователями и хочу связать события по идентификатору сессии, чтобы я мог отслеживать поведение отдельных пользователей. Поэтому я использую request.session.session_key в качестве идентификатора пользователя, который я передаю функции регистрации событий. Я не использую сессию ни для чего другого, не сохраняю и не изменяю переменные. Я правильно настроил промежуточное ПО, пока все хорошо.
Однако, когда я проверяю платформу аналитики, я вижу, что id часто (но не всегда) пуст. Я просмотрел некоторые ответы и подумал, что смогу решить эту проблему, запустив request.session.save() перед доступом к session_key. Однако я не могу выполнить .save(), потому что я не изменяю никаких переменных сессии, поэтому Django выдает ошибку.
Что нужно сделать, чтобы сессия всегда имела id?
Некоторый код из моего очень простого представления get:
def get(self, req: HttpRequest):
form = self.form_class(None)
# this is where I tried req.session.save()
mixpanel.track(
req.session.session_key,
"Form Page Displayed",
{"path": req.path, "route": req.method},
)
return render(req, self.template_name, {"form": form})