我是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"

10-04 23:37
查看更多