我用 Flask 和 Python 构建了一个简单的 Web 应用程序,我打算将它上传到 Heroku。
在本地启动我的应用程序时,使用以下脚本:
#!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
我有这个的目录中__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