flask issues with app structuring - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Web Scraping & Web Development (https://python-forum.io/forum-13.html) +--- Thread: flask issues with app structuring (/thread-24415.html) |
flask issues with app structuring - sidk23396 - Feb-12-2020 Hi all, I am new to this forum. I recently started working on my first flask application. I am having some issues with imports in my project. My project structure is as follows: <project> │ amazon_scraper_app.db │ README.md │ run_server.py │ server_deprecated.py │ __init__.py │ │ ├───amazon_scraper_app │ │ additional_routes.py │ │ api_resource_models.py │ │ customExceptions.py │ │ database_models.py │ │ database_utilities.py │ │ models.py │ │ server.py │ │ server_utilities.py │ │ test.db │ │ __init__.py │ │ ├───config │ │ config.py │ │ settings.py │ I have my class in the amazon_scraper_app.__init__ module. I initialize an object of my class and import that object to all other files such as amazon_scraper_app.database_utilities etc.. I am importng the my_app object from amazon_scraper_app.__init__ to amazon_scraper_app.database_utilities to access the 'db' of the flask app which is just SQLAlchemy(flask_app). I am also importing methods from amazon_scraper_app.database_utilities to amazon_scraper_app.api_resource_models. The classes in amazon_scraper_app.api_resource_models are imported in amazon_scraper_app.__init__ to serve as REST API handlers to the flask server. This causes some kind of loop of imports and I am stuck with an error like this: C:\Users\siddh\AppData\Local\Programs\Python\Python37-32\python.exe C:/Users/siddh/Documents/Python/amazon-scraper/run_server.py Traceback (most recent call last): File "C:/Users/siddh/Documents/Python/amazon-scraper/run_server.py", line 1, in <module> from amazon_scraper_app import my_app File "C:\Users\siddh\Documents\Python\amazon-scraper\amazon_scraper_app\__init__.py", line 5, in <module> from amazon_scraper_app.api_resource_models import AmazonProductListResource, AmazonProductResource, \ File "C:\Users\siddh\Documents\Python\amazon-scraper\amazon_scraper_app\api_resource_models.py", line 3, in <module> from amazon_scraper_app.database_utilities import get_products File "C:\Users\siddh\Documents\Python\amazon-scraper\amazon_scraper_app\database_utilities.py", line 1, in <module> from amazon_scraper_app.database_models import AmazonProduct, db, AmazonProductPrice File "C:\Users\siddh\Documents\Python\amazon-scraper\amazon_scraper_app\database_models.py", line 1, in <module> from amazon_scraper_app import my_app ImportError: cannot import name 'my_app' from 'amazon_scraper_app' (C:\Users\siddh\Documents\Python\amazon-scraper\amazon_scraper_app\__init__.py) Please help as I am out of ideas on how I can resolve this. I am very new this. Thanks! Sid RE: flask issues with app structuring - Larz60+ - Feb-12-2020 see: https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xv-a-better-application-structure |