因此,我正在关注有关Flask的初学者教程,无论出于何种原因,在本质上第一步上都会出现错误。
我首先创建了一个“ app”目录,在其中为“ init .py”创建了一个python文件,其中包含以下代码:
from flask import Flask
app = Flask(__name__)
from app import routes
然后我在同一目录中创建了一个“ routes.py” python文件:
from app import app
@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"
最后(这是问题的根源),我创建了一个名为“ microblog.py”的python文件,该文件与“ app”目录位于同一文件夹中:
from app import app
然后我进入虚拟环境并运行(使用cmd Windows):
set FLASK_APP=microblog.py
到目前为止很好,但是当我尝试在cmd中运行以下代码时:
flask run
我收到以下错误:
ImportError: cannot import name 'app' from 'app' (C:\Users\Grae_\microblog\app\__init__.py)
如果需要进一步说明,这是我的文件位置:
C:\Users\Grae_\microblog
C:\Users\Grae_\microblog\app
C:\Users\Grae_\microblog\__init__.py
C:\Users\Grae_\microblog\routes.py
C:\Users\Grae_\microblog\venv
C:\Users\Grae_\microblog\microblog.py
很抱歉,如果这真的很明显,我对Flask显然很陌生,并且已经坚持了一段时间。
谢谢
答案 0 :(得分:0)
这里的问题在python包“ app”上。该目录应该有一个名为__init__.py
的文件,而不是init.py
。
例如,您将文件init.py
重命名为__init__.py
,并用下面的代码替换内容,
from flask import Flask
app = Flask(__name__)
def start():
from app import routes
start()
答案 1 :(得分:0)
您可以执行以下操作:-
test.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Index!"
@app.route("/hello")
def hello():
return "Hello World!"
@app.route("/members")
def members():
return "Members"
@app.route("/members/<string:name>/")
def getMember(name):
return name</string:name>
if __name__ == "__main__":
app.run()
在命令提示符下,运行命令-
python test.py
在浏览器中尝试网址: