0

我正在学习烧瓶。我有一个看起来像这样的目录结构。

    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'

我想知道如何从不同的目录导入类,以便在项目中进一步使用它们。

提前致谢

4

0 回答 0