开发服务器 — Flask 文档

来自菜鸟教程
Flask/docs/1.1.x/server
跳转至:导航、​搜索

开发服务器

从 Flask 0.11 开始,有多种内置方式来运行开发服务器。 最好的一个是 flask 命令行实用程序,但您也可以继续使用 Flask.run() 方法。

命令行

强烈推荐使用 flask 命令行脚本(Command Line Interface)进行开发,因为它通过加载应用程序的方式提供了卓越的重新加载体验。 基本用法是这样的:

$ export FLASK_APP=my_application
$ export FLASK_ENV=development
$ flask run

这将启用开发环境,包括交互式调试器和重新加载器,然后在 http://localhost:5000/ 上启动服务器。

服务器的各个功能可以通过向 run 选项传递更多参数来控制。 例如,可以禁用重新加载器:

$ flask run --no-reload

笔记

在 Flask 1.0 之前,不支持 FLASK_ENV 环境变量,您需要通过导出 FLASK_DEBUG=1 来启用调试模式。 这仍然可以用于控制调试模式,但您应该更喜欢设置如上所示的开发环境。


在代码中

启动应用程序的另一种方法是通过 Flask.run() 方法。 这将立即以与 flask 脚本完全相同的方式启动本地服务器。

例子:

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

这适用于普通情况,但不适用于开发,这就是为什么从 Flask 0.11 开始推荐使用 flask 方法。 这样做的原因是由于重新加载机制的工作方式,存在一些奇怪的副作用(例如两次执行某些代码,有时在没有消息的情况下崩溃或在发生语法或导入错误时死亡)。

然而,它仍然是调用非自动重新加载应用程序的完全有效的方法。