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

时间:2014-09-15 20:00:15

标签: 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)

我跑的时候

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

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

2 个答案:

答案 0 :(得分:10)

这"重新加载"每当您进行更改时代码,以便您不必手动重新启动应用程序以查看更改。当您经常进行更改时非常有用。

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

app.run(debug=False)

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

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

答案 1 :(得分:1)

来自烧瓶文档:

  

如果启用调试支持,服务器将在代码更改时重新加载,   如果出现问题,它还会为您提供有用的调试器。

请参阅this

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