在我的烧瓶应用程序中,我正在与进口产品做斗争。在
这就是我现在的结构
app/
__init__.py
config.py
db_create.py
models.py
views.py
run.py
在我的__init__.py
文件中,我有以下代码:
在我的run.py
中,我有以下代码:
#!flask/bin/python
from app import app
app.run()
在db_create.py
我有:
from app import db
剩下的代码创建数据库并添加一些示例数据。在
但是,当我尝试运行db_create.py
时,我得到了以下错误:
ImportError: No module named app
我不知道这里有什么问题,是周期性进口还是其他问题。在
应用程序中存在结构问题。 您可以从
run.py
导入应用程序,但不应从app/db_create.py
导入它。这实际上是一种循环输入。如果您需要app/__init__.py
文件中的内容,请将其导出到另一个可以从db_create.py
导入的.py文件中。在此方法不起作用,因为在
db_create.py
中没有变量app
。在请参见
__init__.py
中的您已经初始化了一个名为app的变量。 现在在run.py
中,从app directory
导入app
变量。在现在既然
db_create
和__init__
位于需要导入的某个目录中,如下所示from __init__ import app
。在尽管我建议不要创建文件
db_create.py
,而是在__init__.py
中使用相同的代码,因为这样做只是为了测试目的。在同样在}
(因为它们也在同一目录中)
__init__.py
中,直接使用import views, models
,而不是{希望我能正确解释。在
在
app/__init__.py
中,您有:以及
^{pr2}$那么,
app
既是包名又是Flask
实例?在两件事不要同名。在
把所有的导入都放在文件的最上面,这样至少可以简化你的生活。在
相关问题 更多 >
编程相关推荐