跨多个模块使用 Flask-pymongo

Joh*_* F. 5 python pymongo flask

我在理解如何合并 Flask-Pymongo 时遇到了一些困难。我的应用程序是从我的rrapp.py此文件内部启动的,我有

rrapp.py

#
# Imports up here
#

app = Flask(__name__)
mongo = PyMongo(app)

# Code down here
Run Code Online (Sandbox Code Playgroud)

现在,要使用它,我只需执行mongo.db.users.find(). 这很好用。

现在,假设我有另一个名为的文件,userservice.py我从rrapp.py. 如果我无权访问该对象,如何合并PyMongo(app)到我的文件中?或者我在这里遗漏了一些明显的东西?userservice.pyapp

Meh*_*hdi 1

  • 您应该首先定义 mongo oustside create_app 以便从其他文件内部访问它。
  • 然后 init_app 如下所示:

从烧瓶导入烧瓶,current_app

from flask_pymongo import PyMongo

mongo = PyMongo()

def create_app(config_name):
    app = Flask(__name__, instance_relative_config=False)

    app.config.from_object(app_config[config_name])

    # INIT EXTENSIONS ----------------------

    mongo.init_app(app)

    return app
Run Code Online (Sandbox Code Playgroud)

然后在任何文件中,您可以从上面的文件导入 mongo。例如:

from ../factory import mongo
Run Code Online (Sandbox Code Playgroud)