【发布时间】:2017-04-01 22:51:40
【问题描述】:
一开始,我是 Flask 的新手。
我收到了一个使用 Flask 框架用 Python 制作的工作项目。它在 PyCharm 中工作。当我将它粘贴到服务器文件并运行 Flask 服务器时(我按照 Flask 站点上的文档进行操作),错误显示:
File "/home/web/app/__init__.py", line 22, in <module>
from app import views, models
ImportError: cannot import name views
这就是 init.py 文件:
1 import os
2 from flask import Flask
3 from flask_sqlalchemy import SQLAlchemy
4 from flask_login import LoginManager
5 from flask_openid import OpenID
6 from config import basedir
7
8 app = Flask(__name__)
9 app.config.from_pyfile('config.py')
10
11 db = SQLAlchemy(app)
12
13 # Imports below help me fixing the database
14 # from app import models
15 # import database_migrate
16
17 lm = LoginManager()
18 lm.init_app(app)
19 lm.login_view = 'login'
20 oid = OpenID(app, os.path.join(basedir, 'tmp'))
21
22 from app import views, models
23
24 app.run(debug=True)
当键入 print(app) 时,它会显示 None。所有模块均已安装。尝试运行简单的 webapp 打印“Hello world”,并且成功了。 Flask 已重新安装了 3 次。 Views 有 from app import app
我在堆栈或任何其他地方都找不到任何解决方案。
提前致谢
【问题讨论】:
-
views.py到底在哪里?与__init__.py相同的目录还是在其他目录下? -
与
__init__.py的目录相同 -
有可能,这是路径问题,但您可以将行
from app import views, models更改为from . import views, models -
谢谢,成功了。