Каков правильный способ поднять мой объект монго в моих чертежах?Чертежи, PyMongo in Flask
Вот как у меня родители login.py
:
app.config.from_object('config')
from flask.ext.pymongo import PyMongo
from child import child
from child2 import child2
app = Flask(__name__)
app.register_blueprint(child2.child2)
app.register_blueprint(child.child)
в моем child.py
from app import app
from flask.ext.pymongo import PyMongo
mongo = PyMongo(app)
child = Blueprint('child', __name__)
child2.py
такого же структура, как ребенок:
from app import app
from flask.ext.pymongo import PyMongo
mongo = PyMongo(app)
child2 = Blueprint('child2', __name__)
Вот сообщение об ошибке :
raise Exception('duplicate config_prefix "%s"' % config_prefix)
Exception: duplicate config_prefix "MONGO"
Я попытался следующим в плане
mongo = app.data.driver
, но это дает:
AttributeError: 'Flask' object has no attribute 'data'
После того, как мое приложение создает соединение, как я должен забрать его в моих чертежах ?
Вот полный след
Traceback (most recent call last):
File "login.py", line 12, in <module>
from child import child
File "/home/xxx/xxx/child/child.py", line 13, in <module>
mongo = PyMongo(app) #blueprint
File "/home/xxx/xxx/lib/python3.4/site-packages/flask_pymongo/__init__.py", line 97, in __init__
self.init_app(app, config_prefix)
File "/home/xxx/xxx/lib/python3.4/site-packages/flask_pymongo/__init__.py", line 121, in init_app
raise Exception('duplicate config_prefix "%s"' % config_prefix)
Exception: duplicate config_prefix "MONGO"
(xxx)[email protected]:~/xxx$ python login.py
Traceback (most recent call last):
File "login.py", line 12, in <module>
from courses import courses
File "/home/xxx/xxx/child/child.py", line 13, in <module>
mongo = PyMongo(app) #blueprint
File "/home/xxx/xxx/lib/python3.4/site-packages/flask_pymongo/__init__.py", line 97, in __init__
self.init_app(app, config_prefix)
File "/home/xxx/xxx/lib/python3.4/site-packages/flask_pymongo/__init__.py", line 121, in init_app
raise Exception('duplicate config_prefix "%s"' % config_prefix)
Exception: duplicate config_prefix "MONGO"
Таким образом, вопрос, как может одна структура присоединительные строк в БД в каждом из чертежей. Вот структура файла:
login.py
config.py
/child/child.py
/child2/child2.py
здесь является config.py
MONGO_DBNAME = 'xxx'
MONGO_URL = os.environ.get('MONGO_URL')
if not MONGO_URL:
MONGO_URL = "mongodb://xxx:[email protected]:55822/heroku_xxx";
MONGO_URI = MONGO_URL
Я пытался предложение ниже в ответах, но это не сработало. Посмотрите мои комментарии ниже этого предполагаемого ответа.
Пожалуйста [править] для создания [mcve], в том числе * FUL l * traceback, а не только сообщение об ошибке. – davidism
У вас есть 'mongo = PyMongo (app)' как в login.py, так и в child.py? –
Не могли бы вы показать нам файловую структуру вашего проекта? – skyline75489