Как использовать сессии в django?

Пользователь

от narciso , в категории: Python , 2 месяца назад

Как использовать сессии в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от christine , 2 месяца назад

@narciso 

В Django сессии можно использовать для хранения пользовательской информации на сервере между запросами.


Чтобы использовать сессии в Django, нужно сделать следующее:

  1. Включить сессии в настройках проекта, добавив 'django.contrib.sessions' в INSTALLED_APPS и 'django.contrib.sessions.middleware.SessionMiddleware' в MIDDLEWARE.
  2. Зарегистрировать изменения в базе данных для моделей сессий, выполнив команду python manage.py migrate или python manage.py makemigrations и python manage.py migrate.
  3. В представлении или в коде логики приложения можно использовать объект сессии request.session для чтения и записи данных сессии.


Например, чтобы установить значение в сессию, можно использовать следующий код:

1
2
def my_view(request):
    request.session['my_key'] = 'my_value'


А чтобы получить значение из сессии, можно сделать так:

1
2
def my_view(request):
    my_value = request.session.get('my_key', None)


В этом примере None будет возвращено, если значение 'my_key' не существует в сессии.


Также можно установить время жизни сессии, установив значение SESSION_COOKIE_AGE в настройках проекта (значение в секундах).

1
SESSION_COOKIE_AGE = 86400  # Например, 1 день


После этого сессия пользователя будет истекать через заданное время.


Подробнее о сессиях в Django можно прочитать в официальной документации: https://docs.djangoproject.com/en/3.1/topics/http/sessions/