Python Flask,用reloader重新启动:这是什么意思

2024-04-19 22:23:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python Flask构建y first webservice。每次我运行我的应用程序时,我都无法理解Flask发出重新加载的信号意味着什么。

这是我的密码。

#!venv/bin/python
from flask import Flask
from flask import request


def buildCache():
    print 'Hello World'

buildCache()

app = Flask(__name__)


@app.route('/search')
def index():
    query = request.args.get('query','', type=str);
    return  query


if __name__ == '__main__':
    app.run(debug = True)

当我运行它时

venv/bin/python ./app.py
Hello World
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
Hello World

我不明白为什么buildCache方法被调用两次?它似乎与“使用reoliader重新启动”有关,这意味着什么?如何确保在服务器启动之前只执行一次buildCache。


Tags: namefromimportappflaskhelloworldbin
2条回答

每当您进行更改时,此操作将“重新加载”代码,这样您就不必手动重新启动应用程序来查看更改。当你经常改变的时候,它是非常有用的。

通过将调试参数设置为False,可以关闭重新加载。

app.run(debug=False)

“[如果debug=True]发生未处理的异常时,调试器将启动,如果检测到代码中的更改,集成服务器将自动重新加载应用程序。”

来源:http://flask.pocoo.org/docs/0.10/api/#flask.Flask.debug

从烧瓶文件:

If you enable debug support the server will reload itself on code changes, and it will also provide you with a helpful debugger if things go wrong.

this

尝试启动应用程序,然后执行touch app.py,如果调试模式为“启用”,则服务器将重新加载应用程序。

相关问题 更多 >