开发服务器
Warning
生产环境不要使用开发服务器。开发服务器仅供在本地开发期间使用,它在 效率、稳定或安全方面是缺失的。
有关部署选项,请参阅 部署方式 。
推荐使用 flask run
命令行脚本运行开发服务器。这需要设置 FLASK_APP
环境变量指向您的应用,且设置 FLASK_ENV=development
, 以用于启用开发模式。
这样就启动了开发环境,包括交互调试器和重载器,并在 提供服务。使用 命令可以查看 可用的选项, 命令行接口 提供了关于配置和使用 CLI 的详细介绍。
Note
Flask 1.0 版之前, FLASK_ENV
环境变量是不可用的,您需要导出 FLASK_DEBUG=1
来开启调试模式。这样做仍能控制调试模式的开关, 但是推荐使用前述的方法。
当重加载器使用 flask run
命令时,服务器将持续运行。哪怕您在代码中引 入了语法错误或其他初始化错误。访问网站时会交互式调试器中显示错误,而不 是使服务器崩溃。此功能称为“延迟加载”。
要覆盖此行为并始终立即失败,即使在重新加载时,应当传递 --eager-loading
参数。要始终保持服务器运行,即使在最初的调用中,传 递 --lazy-loading
参数。
通过代码使用开发服务器
另一种方法是在 Python 中通过 Flask.run() 方法启动应用。这个方法接 受的参数与 CLI 的相似。主要的不同是重新加载时如果有错误,服务器会崩溃。
debug=True
参数可以开启调试器和重载器,但是要开启开发模式仍需要设置 环境变量。
应当把调用放在 main 代码块中,否则当以后在生产环境中导入和运行应用时会 产生干扰。