Python Flask,使用重新加载器重新启动:这意味着什么

kon*_*tor 16 python flask

我正在尝试使用Python Flask构建y第一个web服务.每次运行我的应用程序时,我无法理解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)
Run Code Online (Sandbox Code Playgroud)

当我运行它

venv/bin/python ./app.py
Hello World
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
Hello World
Run Code Online (Sandbox Code Playgroud)

我不明白为什么buildCache方法被调用两次?它似乎与"使用重新加载器重新启动"有关,这是什么意思?我如何确保在服务器启动之前只执行一次buildCache.

Mun*_*med 12

每当您进行更改时,这会"重新加载"代码,这样您就不必手动重新启动应用程序来查看更改.当你经常进行更改时,它非常有用.

您可以通过将debug参数设置为False来关闭重新加载.

app.run(debug=False)
Run Code Online (Sandbox Code Playgroud)

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

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

  • 但我没有更改代码,我只是运行程序,它仍然两次调用我的 buildCache 函数,这是为什么? (2认同)