尝试将我的数据库导入我自己的模块时出现导入错误

I am getting import errors when trying to import my database into my own module

我的 Flask 应用程序中有一个名为 crop.py 的模块。一切都很好,直到我想从 models.py 导入数据库部分。我猜它与将模块初始化到应用程序中然后尝试将模型导入其中有关,但我不确定。

错误如下: flask.cli.NoAppException:导入时 'test',引发了 ImportError。

这是我的基本应用构建。 -应用程序 models.py crop.py

crop.py

from app import current_app 
from flask import url_for, Markup
import PIL
from PIL import Image
from uuid import uuid4
import os
#Adding these below causes an importerror------------------------------------
#from app import db
#from app.models import Upload

class _Avatars(object):
    #code here

class Avatars(object):
    def __init__(self, app=None):
        if app is not None:
            self.init_app(app)

    #code here

__init.py

from flask import Flask, request, current_app _l
from elasticsearch import Elasticsearch
from redis import Redis
import rq
from config import Config
#This is my module-----------------------------------------------------
from .crop import Avatars

db = SQLAlchemy()
migrate = Migrate()
avatars = Avatars()

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(config_class)    

    db.init_app(app)
    avatars.init_app(app)

我认为这是导致循环导入错误的原因,因为您在 __init.py 文件中导入裁剪模型,并且将数据库从 __init.py 导入裁剪模型文件。 Python不允许这种情况。您必须在单独的文件中的其他地方定义您的数据库连接,或者在您需要使用数据库的任何地方手动添加它们。