英文原文地址:http://flask.pocoo.org/docs/1.0/server/
若有翻译错误或者不尽人意之处,请指出,谢谢~
从Flask0.11版本开始,这里有多种内置方法来运行一个开发服务器。最好的方法是使用flask命令行工具,但是你也可以继续使用Flask.run()函数。
1. 命令行
在开发时,强烈推荐使用flask命令行脚本(上一章内容)。因为它提供了一个出众的重载体验。基本用法如下:
$ export FLASK_APP=my_application
$ export FLASK_ENV=development
$ flask run
这里启用了开发环境,也包含了交互式调试器和重新加载器,并且随后在http://localhost:5000/上启动服务。
服务单独的特定也能通过传递参数给run选项来控制。举个栗子,重新加载器被禁用:
$ flask run --no-reload
注意:
在Flask1.0之前,FLASK_ENV环境变量是不被支持的,并且你需要使用导出FLASK_DEBUG=1来启用调试模式。这种方式依然可以控制调试模式,但是你应该倾向于上面的方式来设置开发环境。
2. 在代码中
另一种启动应用程序的方法,是使用Flask.run()函数。这种立即启动一个本地服务的方式,与flask脚本所做的完全一样。
举个栗子:
if __name__ == '__main__':
app.run()
这对于一般情况来说很有效,但对于开发来说却不是很友好,这就是为什么从Flask0.11开始,推荐使用flask命令的方法。这样做的原因是,由于重载机制是何如工作的,有一些奇怪的副作用(比如执行某些代码两次,有时在没有消息的情况下崩溃,或者在出现语法或导入错误时挂掉了)。
然而,它仍然是一种调用非自动重载应用程序的非常有效的方法。