Python 无法在Flask应用程序上下文中的交互式终端中导入数据库模型

Python 无法在Flask应用程序上下文中的交互式终端中导入数据库模型,python,Python,我试图测试我的数据库在多对多关系中的行为。我正在努力访问Flask应用程序的应用程序上下文 我在应用程序的父文件夹中运行Python终端,并遵循SO和其他地方的步骤。我可以管理(我认为)导入应用程序,创建它,推送上下文,导入数据库。但是,每当我想要导入模型时,系统都会提示我: Error ModuleNotFoundError:没有名为“db”的模块 尽管db是明确定义的: 这是完整过程的屏幕截图 文件夹结构为: - app --__int__.py 这是app/init.py文件: fr

我试图测试我的数据库在多对多关系中的行为。我正在努力访问Flask应用程序的应用程序上下文

我在应用程序的父文件夹中运行Python终端,并遵循SO和其他地方的步骤。我可以管理(我认为)导入应用程序,创建它,推送上下文,导入数据库。但是,每当我想要导入模型时,系统都会提示我:

Error ModuleNotFoundError:没有名为“db”的模块

尽管db是明确定义的:

这是完整过程的屏幕截图

文件夹结构为:

- app
--__int__.py
这是app/init.py文件:

from flask import Flask,Blueprint
from flask_sqlalchemy import SQLAlchemy
from app.config import Config
from mailjet_rest import Client

db = SQLAlchemy()
mailjet = Client(auth=(Config.MJ_APIKEY_PUBLIC, Config.MJ_APIKEY_PRIVATE), version='v3.1')

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(Config)
    
    db.init_app(app)
    
    from app.views.users import users
    from app.views.data import data
    from app.views.admin import admin
    app.register_blueprint(users,url_prefix='/users')
    app.register_blueprint(data,url_prefix='/data')
    app.register_blueprint(admin,url_prefix='/admin')

    # with app.app_context():
    #     db.create_all()

    return app
如果您有任何意见,我将不胜感激

谢谢,,
Matija

解决方案非常简单。我应该从
app.models
导入模型,而不是从db导入

我采取的步骤:

  • 将文件夹重命名为app
  • 在应用程序级别上运行Flask shell命令
  • 导入的应用程序
  • 从app.models导入模型

  • 您使用的是哪个python版本?@umairmu是版本if 3.7好的,您使用的是哪个数据库和模块名?它是SQLite。模型在app/Models.py中定义,而配置在app/config.py@umairmube中