The flask
command 是一个用于与 Flask 应用程序交互的 CLI。这docs http://flask.palletsprojects.com/cli/描述如何使用 CLI 命令并添加自定义命令。这flask run
命令是启动开发服务器的首选方式。
切勿使用此命令公开部署,请使用生产 WSGI 服务器,例如 Gunicorn、uWSGI、Waitress 或 mod_wsgi。
从 Flask 2.2 开始,使用--app
将命令指向您的应用程序的选项。它可以指向导入名称或文件名。它将自动检测名为的应用程序实例或应用程序工厂create_app
。使用--debug
使用调试器和重新加载器在调试模式下运行的选项。
$ flask --app sample --debug run
在 Flask 2.2 之前,FLASK_APP
and FLASK_ENV=development
而是使用环境变量。FLASK_APP
and FLASK_DEBUG=1
仍然可以用来代替上面的 CLI 选项。
$ export FLASK_APP=sample
$ export FLASK_ENV=development
$ flask run
在 Windows CMD 上,使用set
代替export
.
> set FLASK_APP=sample
对于 PowerShell,请使用$env:
.
> $env:FLASK_APP = "sample"
The python sample.py
命令运行一个Python文件并设置__name__ == "__main__"
。如果主块调用app.run()
,它将运行开发服务器。如果您使用应用程序工厂,此时还可以实例化一个应用程序实例。
if __name__ == "__main__":
app = create_app()
app.run(debug=True)
这两个命令最终都会启动 Werkzeug开发服务器 http://flask.palletsprojects.com/server/,顾名思义,它启动一个简单的 HTTP 服务器,该服务器仅应在开发期间使用。您应该更喜欢使用flask run
指挥app.run()
.