Курс Python → Управление сессиями в Python

Для управления сессиями в Python можно использовать встроенный модуль session. При каждом запросе сервера создается уникальный идентификатор сессии, который сохраняется в куки или передается через URL. Этот идентификатор позволяет связать все запросы пользователя в рамках одной сессии.

Для сохранения данных между запросами в рамках одной сессии можно использовать словарь session, который доступен во всех обработчиках запросов. Данные, сохраненные в этом словаре, будут доступны до завершения сессии или до очистки кэша.

Пример использования сессий в Flask:


from flask import Flask, session, redirect, url_for, request

app = Flask(__name__)
app.secret_key = 'super secret key'

@app.route('/')
def index():
    if 'username' in session:
        return 'Logged in as %s' % session['username']
    return 'You are not logged in'

@app.route('/login', methods=['POST'])
def login():
    session['username'] = request.form['username']
    return redirect(url_for('index'))

@app.route('/logout')
def logout():
    session.pop('username', None)
    return redirect(url_for('index'))

if __name__ == '__main__':
    app.run()

В данном примере при успешном входе пользователя данные о его имени сохраняются в сессии и доступны на всех страницах, пока пользователь не выйдет из системы. При выходе из системы данные удаляются из сессии.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Создание виртуальной среды
  2. Расширение операции побитового «и» в Python
  3. Декораторы с аргументами
  4. Работа с многоуровневыми словарями в Python
  5. Значения по умолчанию в Python
  6. Добавление кнопки в tkinter
  7. Генераторы в Python
  8. Расширение информации об ошибке в Python
  9. Введение в PyTorch
  10. Именованные кортежи в Python
  11. PATCH-запрос с библиотекой requests
  12. Использование super() в Python
  13. kwargs в Python
  14. Форматирование строк в Python
  15. Python Поверхностное Копирование
  16. Метод enumerate() в Python
  17. Ключевое слово global в Python
  18. PEP-401: оператор
  19. Лямбда-функции в Python
  20. Установка User-Agent в Python
  21. Установка и использование pyshorteners
  22. Оператор (*) в Python
  23. Ускорение обработки данных с %autoawait
  24. Создание GUI с Tkinter: Entry
  25. Декораторы в Python
  26. TON Smart Challenge #2: участие и подготовка
  27. Оптимизация поиска в словарях
  28. Работа с путями в Python
  29. SciPy: широкий функционал для математических операций
  30. Обработка аргументов Python
  31. Работа с CSV файлами в Python
  32. Проблема сравнения словарей
  33. Генератор бросков кубиков
  34. Работа с словарями в Python
  35. Изучение объектов с помощью dir()
  36. Сортировка и обратный порядок
  37. Инициализация переменных
  38. Работа с изменяемыми списками
  39. Назначение максимального и минимального значения переменной в Python.
  40. Принципы Zen Python
  41. Работа с изменяемыми коллекциями
  42. Дизассемблирование Python кода
  43. Подсчет элементов в Python
  44. Конвертация коллекций в Python.
  45. Транспонирование 2D-массива с помощью zip
  46. Python: цикл for и оператор присваивания

Marketello читают маркетологи из крутых компаний