Jaki jest poprawny sposób podnoszenia mojego obiektu mongo w moich Blueprintach?Plany, PyMongo w kolbie
Oto jak mam rodzica 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)
w moim child.py
from app import app
from flask.ext.pymongo import PyMongo
mongo = PyMongo(app)
child = Blueprint('child', __name__)
child2.py
jest taka sama konstrukcja jak dziecko:
from app import app
from flask.ext.pymongo import PyMongo
mongo = PyMongo(app)
child2 = Blueprint('child2', __name__)
Tutaj jest komunikat o błędzie :
raise Exception('duplicate config_prefix "%s"' % config_prefix)
Exception: duplicate config_prefix "MONGO"
Próbowałem następujących w plan
mongo = app.data.driver
ale to daje:
AttributeError: 'Flask' object has no attribute 'data'
Gdy moja aplikacja została stworzona z połączenia, w jaki sposób należy go podnieść w moich ideowych ?
Oto pełna ślad
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"
Więc pytanie brzmi, w jaki sposób jedna struktura ciągi połączeń do DB w każdym z planów. Oto struktura plików:
login.py
config.py
/child/child.py
/child2/child2.py
Oto 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
Próbowałem sugestię poniżej w odpowiedzi, ale to nie działa. Zobacz moje komentarze poniżej tej potencjalnej odpowiedzi.
proszę [edytuj] aby utworzyć [mcve], w tym * ful l * traceback, a nie tylko komunikat o błędzie. – davidism
Czy masz 'mongo = PyMongo (app)' w login.py i child.py? –
Czy możesz nam pokazać strukturę plików swojego projektu? – skyline75489