我正在学习烧瓶。我发现,例如使用如下代码为什么我不能在顶部移动导入?
__init__.py
:
from flask import Flask
app = Flask(__name__)
from app import views
view.py
:
from app import app
@app.route('/')
def index():
return "hello world"
和run.py
(在顶层):
from app import app
app.run()
我不明白为什么我不能移动from app import views
到 最佳。如果我这样做,我得到错误:
> run.py
Traceback (most recent call last):
File "F:\app1\run.py", line 1, in <module>
from app import app
File "F:\app1\app\__init__.py", line 2, in <module>
from app import views
File "F:\app1\app\views.py", line 1, in <module>
from app import app
ImportError: cannot import name 'app'
我认为这是一个相对导入与蟒蛇3绝对导入问题。 –
检查此问题并告诉我它是否解决它:https://stackoverflow.com/questions/38564382/importerror-on-python-3- python-2-7 –
我认为这是一个循环导入问题:''app'对象必须在'__init __。py'中定义,然后才能从'view.py'中导入。 – randomir