DigitalDemiurge
Сен. 11, 2011 18:35:17
Использую модули в Flask через Blueprint, проблема возникла при включении sqlalchemy в модулях, которому нужен главный app изза чего возникают рекурсивные зависимости. Как это побороть? Гугление вывело на вынесение app = Flask(__name__) в __init__.py но если честно я чтото не въехал как это организовать.
DigitalDemiurge
Сен. 12, 2011 11:40:58
Не знаю на сколько это правильное решение, но сделал пока через синглтон, по совету отсюда
http://stackoverflow.com/questions/42558/python-and-the-singleton-pattern:def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances = cls()
return instances
return getinstance
@singleton
class App(object):
app = None
db = None
def __init__(self):
self.app = Flask(__name__)
self.db = SQLAlchemy(self.app)
def instance(self):
return self.app
def db(self):
return self.db