я имел следующую структуру в моей колбе приложении:вопросов Импорта с колбой приложением
app.py
:
app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])
db = SQLAlchemy(app)
from models import *
models.py
:
from app import db
Он работал хорошо, пока я не хотел, чтобы сделать чтение/писать операции над моделями в файлах, отличных от app.py. Я пытался импортировать модель Trackorder
в файле tasks.py
, но получил следующее сообщение об ошибке:
ImportError: cannot import name TrackOrder
Итак, я изменил структуру:
__init__.py
:
app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])
db = SQLAlchemy(app)
Но это делает app
и db
недоступен в app.py
и models.py
:
File "app.py", line 21, in <module>
from models import *
File "/home/nish/repos/stage/voylla_api/models.py", line 16, in <module>
class Product(db.Model):
NameError: name 'db' is not defined
##after commenting models.py:
Traceback (most recent call last):
File "app.py", line 210, in <module>
@app.route('/')
NameError: name 'app' is not defined
Как решить эту проблему?
tasks.py находится в той же папке с app.py? –
@ m170897017: Да – nish
В каком файле вы пытались импортировать tasks.Trackorder? –