Я не могу найти сигнал, связанный с созданной сессией. Я знаю сигналы auth, но я хочу заполнить переменную сеанса для анонимных пользователей.Сигнал о том, что сеанс был создан? [для анонимного пользователя]
Что мне не хватает?
Заранее спасибо
Я не могу найти сигнал, связанный с созданной сессией. Я знаю сигналы auth, но я хочу заполнить переменную сеанса для анонимных пользователей.Сигнал о том, что сеанс был создан? [для анонимного пользователя]
Что мне не хватает?
Заранее спасибо
Чтобы сохранить переменный сеанс для анонимных пользователей, вы можете сделать что-то же просто, как request.session['something'] = True
(или что-то значение, которое вы хотите) в соответствующем виде. И если вы пытаетесь увидеть, видели ли вы анонимного пользователя раньше, вы можете просто проверить наличие ключа «что-то».
Под капотом django обрабатывает настройки cookie и создает сеанс для анонимного пользователя, если вы изменяете переменную сеанса. Если у анонимного пользователя уже есть сеанс, он просто записывает измененное состояние.
Для получения более подробной информации ознакомьтесь с документацией сессии: https://docs.djangoproject.com/en/dev/topics/http/sessions/. Это довольно сложно.
И, наконец, не забудьте периодически очищать сеансы с истекшим сроком действия с ./manage.py clearsessions
, если сеансы хранятся в постоянном хранилище.
Как здорово! Это ТОЧНО, как я решил, что идти немного раньше и в разгар написания. Чтение вопроса и мышления «человек, который был не очень умным» :) Во всяком случае, я сделал вспомогательную функцию, чтобы я прочитал это значение из сеанса и проверил, является ли оно нулевым, а затем запустил и заполнил его значениями по умолчанию. я хотел, чтобы во время сессии был создан сигнал », хороший день :-) –
Я думаю, что на самом деле это хороший вопрос. Для меня не было очевидным, как анонимные сеансы работали долгое время - это потребовало серьезных поисков. – Nils
subclass django.contrib.sessions.backends.db, метод переопределения создает с вами сигнал и устанавливает SESSION_ENGINE на новый движок – vadimchin
попробует это и вернется к вам! Спасибо :) –