我是python编程的菜鸟。最近,我正在学习用于Web开发的Flask框架。完成一些基本的flask文档演示后,我试图将我的第一页简单的hello world分解为mvc。
就像这是我的项目结构
Main folder
---> application [folder]
--> __init__.py
--> route.py
--->run.py
在run.py我有以下代码:
import application
在应用程序的_init_.py中,我有以下代码:
from flask import Flask
app = Flask(__name__)
import route
在route.py上我有以下代码:
from flask import Flask
from application import app
@app.route('/')
def index():
return "hello world"
app.run(debug=True,host='0.0.0.0')
现在,当我转到终端并启动服务器时,就会发生这种情况
(venv)nihan@rko:~/apps/blog$ python run.py
* Running on http://0.0.0.0:5000/
* Restarting with reloader
^C^C127.0.0.1 - - [02/Sep/2013 00:25:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [02/Sep/2013 00:25:45] "GET / HTTP/1.1" 200 -
现在,您可以看到此脚本正常运行,但是直到我关闭该进程后,它才响应并请求。
我的问题是,为什么在我按CTRL + C之前服务器不发送任何内容?以及如何解决这个问题?
最佳答案
您还应该避免循环导入,例如通过使用蓝图。
运行
from application import app
app.run(debug=True, host='0.0.0.0')
应用程序/__init__.py
from flask import Flask
from route import mod
app = Flask(__name__)
app.register_blueprint(mod, url_prefix='/')
应用程序/ route.py
from flask import Flask, Blueprint
mod = Blueprint('app', __name__)
@mod.route('/')
def index():
return "hello world"