Атрибут permanent_session_lifetime
Атрибут permanent_session_lifetime применяется к приложению Flask и определяет, как долго будет храниться сессия, помеченная как постоянная. Значение представляет собой объект timedelta из модуля datetime. По умолчанию этот атрибут равен 31 дню.
Когда в сессии устанавливается флаг session.permanent = True, Flask использует значение permanent_session_lifetime для установки срока действия cookie сессии в браузере пользователя.
Синтаксис
app.permanent_session_lifetime = timedelta(days=7)
Пример
Давайте создадим приложение, которое устанавливает время жизни постоянной сессии в 7 дней:
from flask import Flask, session
from datetime import timedelta
app = Flask(__name__)
app.secret_key = 'abcde'
app.permanent_session_lifetime = timedelta(days=7)
@app.route('/')
def index():
session.permanent = True
session['user'] = 'abcde'
return 'session set'
Результат выполнения кода:
<+html+>
session set
<-html+>
Пример
Давайте проверим, как изменится время жизни сессии, если задать его в 30 минут:
from flask import Flask, session
from datetime import timedelta
app = Flask(__name__)
app.secret_key = 'abcde'
app.permanent_session_lifetime = timedelta(minutes=30)
@app.route('/')
def index():
session.permanent = True
return str(app.permanent_session_lifetime)
Результат выполнения кода:
"0:30:00"
Смотрите также
-
класс
Flask,
который представляет приложение Flask -
атрибут
secret_key,
который нужен для подписи сессионных cookie -
атрибут
config,
который хранит настройки приложения -
метод
route,
который регистрирует обработчик URL