как импортировать переменную монго из приложения, которое привязано к приложению - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть файлы, такие как app.py и views.py

app.py

from flask import Flask
from flask_pymongo import PyMongo

app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://local:27017/local"
mongo = PyMongo(app)
from views import profileview
profileview.register(app, route_prefix='/profile/')

if __name__== "__main__":
app.run(debug=True)

views.py

from flask_classy import FlaskView , route
# i am unable to import the app in views
from app import mongo

class profileview(FlaskView):
    route_base = '/'

    @route("/user/",methods=["GET"])
    def index(self):
        pass

когда я запускаю сервер, он показывает, что не может импорт из просмотров импорт профиля просмотра, как избежать кругового импорта

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Вам просто нужно использовать непосредственно в views.py, как вы уже загрузили в конфигурации приложения.

Попробуйте это в ваших views.py

from pymongo import MongoClient client = MongoClient(app.config['MONGODB_URI']) db = client.get_database() mycollection = db.mycollection

0 голосов
/ 14 сентября 2018

это как избежать кругового импорта:

db.py

from flask_pymongo import PyMongo
mongo = PyMongo()

app.py

if __name__ == '__main__':
    from db import mongo

    mongo.init_app(app)

views.py

from db import mongo

или вы можете использовать фабричный шаблон и создать функцию create_app.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...