AttributeError:类型对象'PyMongo'与Flask Blueprint Mongodb没有属性'db'

问题描述

我是flask和mongodb的新手,我试图将我的应用程序分解为多个部分,但是导入时遇到问题,并且出现以下错误

错误在路由/ users.py中 AttributeError:类型对象'PyMongo'没有属性'db' 你能帮我一下吗?

run.py

from main import * 
if __name__ == "__main__":
    app.run(debug=True)

main.py

from flask import Flask,jsonify,make_response,request
from flask_pymongo import PyMongo
from databases.config import mongo
from routes.users import users

app = Flask(__name__)
app.config['MONGO_dbnAME'] = 'Users'
app.config['MONGO_URI'] = 'mongodb://localhost:27017/Users'
app.register_blueprint(users)

mongo = PyMongo(app)

databses / config.py

from flask_pymongo import PyMongo
mongo = PyMongo

routes / users.py

  import json,jsoncfg
  from flask import Blueprint,request,Flask
  from flask_pymongo import PyMongo
  import sys
  sys.path.append("..")
  from databases.config import mongo
  from main import mongo
  users = Blueprint('users',__name__,)

  @users.route('/users',methods=['GET'])
  def get_all_users():
        users = mongo.db.Users
        test= users.find({"Nome":"Vincenzo"})
        output = []
        return jsonify({'result' : output})

解决方法

users.py

中解决
import json,jsoncfg
from flask import Blueprint,jsonify,make_response,request,Flask
from flask_pymongo import PyMongo
import sys
sys.path.append("..")
from databases.config import mongo
import main


users = Blueprint('users',__name__,)
@users.route('/users',methods=['GET'])
def get_all_users():
    mongo = PyMongo(main.app)
    users = mongo.db.Users
    test= users.find({"Nome":"Vincenzo"})
    output = []
    return jsonify({'result' : output})