如何将Flask App 3层架构划分为多个py文件?

时间:2019-04-22 20:36:51

标签: python flask

ImportError:无法从'main1'导入名称'db',将控制器蓝图导入到main中进行注册时,出现此错误。

我试图在main中声明蓝图并导入到控制器,但是在这种情况下,我得到404(找不到页面)。根据我所见,该蓝图必须位于控制器中。

这是主要的:这里是从控制器导入寄存器

from Controllers.UserController import userBp

app = Flask(__name__)
app.register_blueprint(userBp)
app.config['MONGOALCHEMY_DATABASE'] = 'watchscore'  # name of database on mongo
app.config["MONGO_URI"] = "mongodb://localhost:27017/watchscore"
db = MongoAlchemy(app)
db.init_app(app)


if __name__ == '__main__':
    app.run()

这是我的模特:

from main1 import db


class User(db.Document):

这是控制器:控制器导入服务,用于导入模型(从主数据库中导入数据库)

from flask import Blueprint, json, request
from Service.UserService import addUser, serviceGetUsers, serviceDeleteUser, serviceUpdateUser

userBp = Blueprint('userBp', __name__)
@userBp.route('/user')
def hello_world():
    user = addUser()
    return json.dumps(user)

我不知道如何避免导入依赖。如果我从控制器中删除服务导入,则可以正常工作,但需要它们以获取结果。如果我将蓝图放入main并导入到控制器,则会得到404

0 个答案:

没有答案