Курс 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. Названия столбцов в Python таблицах
  2. inspect в Python: анализ кода
  3. Блок try…finally в Python
  4. Документирование функций в Python
  5. Генераторы словарей и множеств
  6. Создание списков в Python
  7. Замер времени выполнения кода
  8. Генератор надежных паролей
  9. Логические операторы в Python
  10. Лямбда-функции в Python
  11. Возврат нескольких значений
  12. Передача аргументов через **arguments
  13. capitalize() — изменение регистра первого символа строки
  14. Поиск шаблона в начале строки
  15. Работа с изображениями PIL
  16. Управление мышью и клавиатурой с Pyautogui
  17. Переменная Шредингера
  18. Глобальные переменные в Python
  19. Переопределение унарных операторов
  20. Форматирование строк в Python
  21. Модуль xkcd: добавление юмора в Python
  22. Исправление ошибки NameError
  23. Сравнение def и lambda в Python
  24. Инвертирование словаря
  25. Списки: объединение, изменение
  26. Методы работы со строками в Python
  27. Именованные срезы в Python
  28. Проверка надежности пароля на Python
  29. Enum в Python
  30. Встраивание HTML в Jupyter Notebook
  31. Генераторные функции в Python
  32. Метод get() для словарей
  33. Локальные переменные.
  34. JMESPath в Python
  35. Проверка подстроки в строке
  36. Сравнение def и lambda функций в Python
  37. Обновление ключей в Python
  38. Регулярные выражения в Python
  39. Цикл for в Python
  40. EMOT преобразование эмодзи в текст

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