РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
227 of 643 menu

Переменная session

Переменная session доступна внутри Jinja-шаблонов Flask и хранит данные сессии текущего пользователя в виде словаря. Через неё можно читать значения, сохранённые в сессии на стороне сервера, например имя пользователя или его настройки. Если сессия пуста, переменная ведёт себя как пустой словарь.

Синтаксис

{{ session['key'] }} {{ session.get('key') }} {{ session.key }}

Пример

Давайте сохраним имя пользователя в сессии и выведем его в шаблоне:

from flask import Flask, session, render_template app = Flask(__name__) app.secret_key = 'abcde' @app.route('/') def index(): session['user'] = 'abcde' return render_template('index.html')

Теперь выведем значение из сессии в шаблоне:

<p>{{ session['user'] }}</p>

Результат выполнения кода:

<p>abcde</p>

Пример

Давайте проверим наличие ключа в сессии через условие:

{% if 'user' in session %} <p>hello, {{ session['user'] }}</p> {% else %} <p>hello, guest</p> {% endif %}

Если в сессии сохранён пользователь 'abcde', результат будет таким:

<p>hello, abcde</p>

Пример

Давайте выведем значение по умолчанию, если ключа в сессии нет:

<p>{{ session.get('user', 'guest') }}</p>

Результат выполнения кода при пустой сессии:

<p>guest</p>

Смотрите также

  • переменную request,
    которая хранит данные текущего запроса
  • переменную config,
    которая хранит настройки приложения
  • тег if,
    который проверяет наличие данных в сессии
  • тег set,
    который сохраняет значение в переменную шаблона
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить