Каков самый простой способ иметь переменную сеанса на стороне сервера в Flask?
Значение переменной:
- Простая строка
- Не отображается клиенту (браузеру)
- Не сохраняется в БД - просто исчезает, когда сеанс пропадает.
Существует встроенный сеанс Flask, но он отправляет данные сеанса клиенту:
session["secret"] = "I can see you"
Данные кодируются base64 и отправляются в криптографически подписанном файле cookie, но все еще тривиально читать на клиенте.
Во многих рамках создание серверной переменной сеанса является однострочным, например:
session.secret = "You can't see this"
Решения Flask, которые я нашел до сих пор, довольно громоздки и ориентированы на обработку больших кусков данных. Есть ли простой легкий вариант?
Я думаю, что расширение Flask-Session - это то, что вы ищете.
Flask-Session - это расширение для Flask, которое добавляет поддержку сеанса на стороне сервера в ваше приложение.
На связанном веб-сайте:
from flask import Flask, session
from flask.ext.session import Session
app = Flask(__name__)
# Check Configuration section for more details
SESSION_TYPE = 'redis'
app.config.from_object(__name__)
Session(app)
@app.route('/set/')
def set():
session['key'] = 'value'
return 'ok'
@app.route('/get/')
def get():
return session.get('key', 'not set')
from flask_session import Session
. Но одного этого недостаточно. Я все еще пытаюсь понять, как заставить этот пакет работать.