フラスコで遊んでいます。私のディレクトリ構造はこうです:フラスコアプリを複数のファイルに分割する
|--------flask-test
|----------------app
|-----------------------static
|-----------------------templates
|-----------------------venv
|-----------------------__init__.py
venv
フォルダは、私の仮想フラスコのインストールを保持しています。私__init__.py
はそうのようなものです:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
これは、しかし、今私は2つのファイル__init__.py
とmain.py
にこれを分割したい問題なく動作します。 main.py
は__init__.py
と同じディレクトリにあります。これまで私が試してみました:
__init__.py
を:
from flask import Flask
app = Flask(__name__)
import main
main.py
:
from app import app
@app.route("/")
def hello():
return "Hello World!"
私はmain.py
に存在しないapp
モジュールは、その後、私は__init__.py
を実行しようというエラーを取得していますが。私はここで間違って何をしていますか?私はrunメソッドを置くべきですか?
あなたは循環インポートを持っています...あなたは '__init__'の中でmainをインポートすることはできません。そして、あなたがルートを確立した後に、runメソッドをメインに入れてください。 –