Проблема выполнения функции на PythonAnywhere
У меня есть подключение к БД для приложения на Flask, и изначально там создаётся переменная __factory = None. Потом её возвращает функция, и в редакторе у меня всё работает нормально, но вот на PythonAnywhere она не хочет возвращать None.
Код и код подключения прилагаю:
import sqlalchemy as sa
import sqlalchemy.orm as orm
from sqlalchemy.orm import Session
SqlAlchemyBase = orm.declarative_base()
__factory = None
def global_init(db_file):
global __factory
if __factory:
return
if not db_file or not db_file.strip():
raise Exception("Необходимо указать файл базы данных.")
conn_str = f'sqlite:///{db_file.strip()}?check_same_thread=False'
print(f"Подключение к базе данных по адресу {conn_str}")
engine = sa.create_engine(conn_str, echo=False)
__factory = orm.sessionmaker(bind=engine)
from . import __all_models
SqlAlchemyBase.metadata.create_all(engine)
def create_session() -> Session:
global __factory
return __factory() # подключение
db_session.global_init("db/users.sqlite") # Подключение к БД