简体   繁体   中英

AttributeError: type object 'PyMongo' has no attribute 'db' with Flask Blueprint Mongodb

I'm new to flask and mongodb, I'm trying to unbundle my app into multiple pieces, but I'm having trouble importing and I'm getting the following error back.

The error is in routes / users.py AttributeError: type object 'PyMongo' has no attribute 'db' Could you give me a hand?

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,jsonify,make_response,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})

resolved in 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})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM