我想知道启动烧瓶应用程序的正确方法。文档显示了两个不同的命令:
$ flask -a sample run
和
$ python3.4 sample.py
产生相同的结果并正确运行应用程序。
两者之间有什么区别,应该使用哪个来运行 Flask 应用程序?
原文由 KarateKid 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想知道启动烧瓶应用程序的正确方法。文档显示了两个不同的命令:
$ flask -a sample run
和
$ python3.4 sample.py
产生相同的结果并正确运行应用程序。
两者之间有什么区别,应该使用哪个来运行 Flask 应用程序?
原文由 KarateKid 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答892 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
flask
命令是一个用于与 Flask 应用程序交互的 CLI。 文档 描述了如何使用 CLI 命令和添加自定义命令。flask run
命令是启动开发服务器的首选方式。切勿使用此命令公开部署,使用生产 WSGI 服务器,例如 Gunicorn、uWSGI、Waitress 或 mod_wsgi。
从 Flask 2.2 开始,使用
--app
选项将命令指向您的应用程序。它可以指向导入名称或文件名。它会自动检测名为create_app
的应用程序实例或应用程序工厂。使用--debug
选项通过调试器和重新加载器在调试模式下运行。在 Flask 2.2 之前,使用了
FLASK_APP
和FLASK_ENV=development
环境变量。FLASK_APP
和FLASK_DEBUG=1
仍然可以用来代替上面的 CLI 选项。在 Windows CMD 上,使用
set
而不是export
。对于 PowerShell,使用
$env:
。python sample.py
命令运行一个 Python 文件并设置__name__ == "__main__"
。如果主块调用app.run()
,它将运行开发服务器。如果您使用应用工厂,此时您还可以实例化一个应用实例。这两个命令最终都会启动 Werkzeug 开发服务器,顾名思义,它会启动一个只应在开发期间使用的简单 HTTP 服务器。您应该更喜欢使用
flask run
命令而不是app.run()
命令。