У меня проблема с тем, что я не могу заставить мой объект БД работать на разных маршрутах в моем приложении
Сегодня я потратил на это 6 часов и попробовал различные варианты, в том числе шаблоны приложений., загрузка расширений, чертежи и многое другое, и независимо от того, какой подход я выберу, я просто озадачен.
Я хочу сохранить шаблон плана, который у меня есть, это ключевой момент, но на базовом уровне я просто могу »получить .db
для загрузки.
Это полная ошибка:
$ sudo docker-compose up --build
WARNING: The UID variable is not set. Defaulting to a blank string.
Building website
Step 1/10 : FROM python:3.7.2-alpine
---> bb1ccaa5880c
Step 2/10 : MAINTAINER (info to live here)
---> Using cache
---> c86eafc23e13
Step 3/10 : ENV INSTALL_PATH /logrr
---> Using cache
---> 18de4002edc2
Step 4/10 : RUN mkdir -p $INSTALL_PATH
---> Using cache
---> 78996ea3714d
Step 5/10 : RUN pip install --upgrade pip
---> Using cache
---> bf253a9bfe18
Step 6/10 : WORKDIR $INSTALL_PATH
---> Using cache
---> 04e1a0092af0
Step 7/10 : COPY requirements.txt requirements.txt
---> Using cache
---> e96a1b830b07
Step 8/10 : RUN pip install -r requirements.txt
---> Using cache
---> 114d0dcd7eb0
Step 9/10 : COPY . .
---> cdc705c36e0d
Step 10/10 : CMD gunicorn -b 0.0.0.0:9000 --access-logfile - "logrr.app:create_app()"
---> Running in dbbcb2fa0541
Removing intermediate container dbbcb2fa0541
---> 69b7e8cba951
Successfully built 69b7e8cba951
Successfully tagged logrr_website:latest
Recreating logrr_website_1 ... done
Attaching to logrr_website_1
website_1 | Traceback (most recent call last):
website_1 | File "/usr/local/bin/gunicorn", line 10, in <module>
website_1 | sys.exit(run())
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 61, in run
website_1 | WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 223, in run
website_1 | super(Application, self).run()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 72, in run
website_1 | Arbiter(self).run()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py", line 60, in __init__
website_1 | self.setup(app)
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py", line 120, in setup
website_1 | self.app.wsgi()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
website_1 | self.callable = self.load()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load
website_1 | return self.load_wsgiapp()
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp
website_1 | return util.import_app(self.app_uri)
website_1 | File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app
website_1 | __import__(module)
website_1 | File "/logrr/logrr/app.py", line 3, in <module>
website_1 | from logrr.blueprints.register import register
website_1 | File "/logrr/logrr/blueprints/register/__init__.py", line 1, in <module>
website_1 | from logrr.blueprints.register.views import register
website_1 | File "/logrr/logrr/blueprints/register/views.py", line 4, in <module>
website_1 | from logrr.models import User, Post, Org
website_1 | File "/logrr/logrr/models.py", line 2, in <module>
website_1 | from logrr.app import db
website_1 | ImportError: cannot import name 'db' from 'logrr.app' (/logrr/logrr/app.py)
logrr_website_1 exited with code 1
У меня есть полный код, готовый для запуска через docker-compose здесь: https://github.com/therealrobster/bdIssue
Вы можете запустить его через стандарт sudo docker-compose up --build
В настоящее время он установлен на localhost:9000
.
По какой-то причине, когда я пытаюсь получить доступ к моделям БД, я получаю ошибки, такие как ImportError: cannot import name 'db' from 'logrr.app' (/logrr/logrr/app.py)
Может кто-нибудь взглянуть на код и сказать, что я делаю не так, пожалуйста?6 часов стуча головой по столу, и я нахожусь на своем конце.
Спасибо