如何将flask app 3层体系结构划分为多个py文件?

2024-10-02 20:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

ImportError:无法从“main1”导入名称“db”。当我将控制器蓝图导入main for register时,出现此错误。你知道吗

我试图在main中声明blueprint并导入到controller,但在本例中得到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):

这里是Controller:Controller import服务,它导入模型(db from main)

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中并导入到controller,我得到404


Tags: namefromimportregisterconfigappdbmain