Использовать проект Flask-Session ; он предлагает реализацию сеанса Flask, которая может хранить данные в любой поддерживаемой SQLAlchemy базе данных , включая PostgreSQL.
- Установите одну из поддерживаемых клиентских библиотек PostgreSQL ; большинство людей используют psycopg2 .
- Установить Flask-SQLAlchemy ; когда вы это сделаете, это вызовет SQLAlchemy. Эта библиотека интегрирует SQLAlchemy с Flask.
Установите Flask-Session и настройте его для использования типа сеанса SQLAlchemy и URI-соединения PostgreSQL; сделайте это, добавив следующие параметры конфигурации в свою конфигурацию Flask:
SESSION_TYPE = "sqlalchemy"
# URI to connect to the database. postgresql:// uses psycopg2, see the documentation
SESSION_SQLALCHEMY = "postgresql://<user>:<password>@hostname:port/database"
# What table in the database to use, default is "sessions"
SESSION_SQLALCHEMY_TABLE = "sessions"
Используйте расширение Flask-Session в вашем приложении Flask; В следующем коде предполагается, что у вас есть переменная app
, которая является объектом Flask()
, уже сконфигурированная с вышеуказанной конфигурацией:
from flask_session import Session
# app has been set and configured
Session(app)
# alternatively, create a `Session()` object without passing in app
# and then when ready, use `.init_app(app)`:
# sess = Session()
# sess.init_app(app)
Подчеркнем: поскольку Flask-Session использует SQLAlchemy, он работает со всеми механизмами баз данных, поддерживаемыми SQLAlchemy , а не только с PostgreSQL. Таким образом, вышеприведенное будет работать для SQLite, MySQL, Oracle, Microsoft SQL Server, Firebird, Sybase и любого другого количества баз данных с доступными сторонними пакетами диалекта SQLAlchemy.