我学会了在Flask中制作应用,但出现错误cz,我认为我已经进行了循环导入,但我不确定Flask中的内容是否真的是新事物。我在application.py中有这个
application = Flask(
__name__, static_folder="client/build", static_url_path="/client/build"
)
DB = SQLAlchemy(application)
jwt = JWTManager(application)
from models import Userauth, Product
...
if __name__ == "__main__":
from models import Userauth, Product
application.run()
我知道这看起来很奇怪,因为双命令from models import Userauth, Product
,但是如果我只写第二个命令(在application.run()之前),则我在运行flask run
时出错了
我的模型。py:
from application import DB
class Userauth(DB.Model):
...
class Product(DB.Model):
...
如果我运行python application.py
,则会出现此错误:
(venv) /% python application.py
Traceback (most recent call last):
File "application.py", line 28, in <module>
from models import Userauth, Product
File "//models.py", line 1, in <module>
from application import DB
File "//application.py", line 28, in <module>
from models import Userauth, Product
ImportError: cannot import name 'Userauth' from 'models' (/models.py)
您知道如何处理此问题吗? Flask应用程序中的良好设计模式应该如何?
谢谢。