我正在学习烧瓶。我有一个看起来像这样的目录结构。
project
- controllers
-- auth.py
-- main.py
- db
-- setup.py
- models
-- models.py
- templates
-- base.html
-- index.html
-- login.html
-- signup.html
-- 404.html
-__init__.py
文件init .py 看起来像这样
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# init SQLAlchemy so we can use it later in our models
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
app.config['SECRET_KEY'] = '9OLWxND4o83j4K4iuopO'
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/mission_to_mars'
db.init_app(app)
# blueprint for auth routes in our app
from .controllers.auth import auth as auth_blueprint
app.register_blueprint(auth_blueprint)
# blueprint for non-auth parts of app
from .controllers.main import main as main_blueprint
app.register_blueprint(main_blueprint)
return app
我正在尝试在 controllers/auth.py、controllers/main.py、models/models.py、db/setup.py 中导入 db 变量和 create_app() 函数
我尝试了以下语法
from .. import db, create_app
这给出了错误:
ImportError: attempted relative import with no known parent package
我也试过
from project import db, create_app
这给出了错误
ModuleNotFoundError: No module named 'project'
我想知道如何从不同的目录导入类,以便在项目中进一步使用它们。
提前致谢