【发布时间】:2013-10-19 12:31:33
【问题描述】:
我用 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)
这是我调用send_mail函数的文件emails.py:
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
【问题讨论】: