我正在學習燒瓶。我發現,例如使用如下代碼爲什麼我不能在頂部移動導入?
__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