私が構築したのは、Heroku にアップロードする予定の、Flask と Python を使用した単純な Web アプリです。
次のスクリプトを使用して、アプリをローカルで起動する場合:
#!venv/bin/python
from app import app
app.run(debug = True)
次のエラー メッセージが表示されます。
Traceback (most recent call last):
File "./run.py", line 2, in <module>
from app import app, mail
File "/home/ricardo/personalSite/app/__init__.py", line 3, in <module>
from app import index
File "/home/ricardo/personalSite/app/index.py", line 6, in <module>
from emails import send_email
File "/home/ricardo/personalSite/app/emails.py", line 2, in <module>
from app import app, mail
ImportError: cannot import name mail
そのため、インポートできませんmail
。
app
ディレクトリ内にthis があります。インポートに問題を引き起こしているオブジェクト__init__.py
を作成したのは次のとおりです。Mail
from flask import Flask
app = Flask(__name__)
from app import index
from flask.ext.mail import Mail
mail = Mail(app)
そして、これはemails.py
私が関数を呼び出すファイルですsend_mail
:
from flask.ext.mail import Message
from app import app, mail
from flask import render_template
from config import ADMINS
from decorators import async
したがって、エラー メッセージによると、エラーはこのファイルのfrom app import app, mail
.
何が問題ですか?インポートできないのはなぜmail
ですか?
アップデート:
これは私のディレクトリリストです:
persSite\
venv\
<virtual environment files>
app\
static\
templates\
__init__.py
index.py
emails.py
decorators.oy
tmp\
run.py