我正在尝试使用 flask-login 扩展。我正在为 flask 使用 virtualenv。
我可以在 python 解释器窗口中从 flask.ext.login 导入 LoginManager,但不能在脚本中导入。在脚本中的导入调用下方。
from flask.ext.login import LoginManager
我正在跟踪以下。
Traceback (most recent call last):
File "practice/flask_login.py", line 1, in <module>
from flask.ext.login import LoginManager
File "/Users/sunil/co_operative/flask/lib/python2.7/site-packages/flask/exthook.py", line 81, in load_module
reraise(exc_type, exc_value, tb.tb_next)
File "/Users/sunil/co_operative/practice/flask_login.py", line 1, in <module>
from flask.ext.login import LoginManager
ImportError: cannot import name LoginManager
最佳答案
问题原因:
您的文件名导致了问题。
解释:
如官方 flask 文档所述:
http://flask.pocoo.org/docs/0.10/extensiondev/ ,当用户尝试使用导入 flask 扩展时 表达式导入 flask.ext.something,flask 将查找模块 flask_something。
因此,导入 flask.ext.login 查找与您的文件名冲突的模块 flask_login。 flask 正在尝试在您的文件中找到 LoginManager 的定义。
解决方案
文件重命名将解决问题。
关于python - 从 flask.ext.login 导入 LoginManager 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688060/