импортировать db... нагуглил и понял что это вполне стандартная ситуация. особенно когда у тебя весь конфиг в
__init__.py
что советуете? убрать нафиг конфиги с init и в корне создать app.py(где прописаны все те же конфиги с инита) или всё таки есть другое решение? просто было привычно прописать конфиг в init'e вот и задумался...
Покажи дерево проекта
Отказаться от фласка переписать на лару и не е.....Ся)
Аааа понял твою проблему
вхах... ну реально нашёл даже статью как правильно организовать структуру проекта но и там в основном конфиг написан в init
иногда помогает импортировать модули не вначале файла я не говорю что это хороршая практика, грамотная архитектура лучше
А почему бы не прописать просто как параметры app.config?
я вот и ищу как правильно организовать гребанную архитектуру... но по мне в init'e прописать было привычнее
Мы решали эту хрень, но проще код скинуть чем тут написать, это только завтра в лучшем случае, за комп вообще не хочу садиться) если я правильно понял, вопрос)
https://the-bosha.ru/2016/06/03/python-flask-freimvork-pravilnaia-struktura-prilozheniia/
ну так скинь дерерво
Попробую с телефона описать. У меня есть main.py куда я импортирую приложение из каталога app, там файлик _init_.py, куда испортится фласк, чертежи и прочая хрень, возвращает экземпляр app, как я это понимаю. Main.py я дёргаю gunicorn ом... Как то так. Чертежи в подкаталогах, каталога app
так... получается main как раннер проекта а все нужные модули(db и тп) импортируешь не с application а с main?
ну соответственно проект создаёшь в main а сама фабрика в ините application?
Именно в _init_.py, я делаю все требуемые обекты для работы приложения. Курсоры для работы с различными СУБД у меня создаются в соответствующих чертежах. У меня специфика своя есть. Но Вам думаю будет достаточно на уровне создания приложения создать объект для работы с СУБД, т.е. в _init_.py, а в чертежах уже импортировать этот объект из app
хм... интересно...
У вас сколько СУБД? Что за прилага?
ну у меня и на данный момент так же всё создаётся в ините и импортируется с application 🌚
Тогда, я не понял, что у Вас не работает
для дева sqlite для прода postgres... я там разделил Config на BaseConfig, DevConfig, ProdConfig
импорты.... крч вот я в ините прописал все конфиги и импортирую всё с application'a... НО когда импортирую что-то созданное в ините(допустим тот же db) в blueprint'ы выводится ошибка о циркулярном импорте...
в общем, что то подобное было с циркуляцией импорта, сейчас скину как работает. пример
Нет. В main одна функция, которая создаёт app и возвращает его
а ну тогда всё же думаю будет лучше оставить фабрику в ините и просто импортировать всё с неё... да и проблема оказывается было в другом 🤦🏻♂️ и просто запускать проект с раннера
Обсуждают сегодня