官方Flask documentation使用flask run
或python -m flask run
,两者都要求设置FLASK_APP
。然而,我见过的大多数其他教程只使用python app.py
,它不需要额外的步骤,而且到目前为止对我来说效果很好。
flask run
有什么好处?我想确保备选方案不会导致我以后无法弄清楚的错误。
答案 0 :(得分:4)
除非您有理由不(并且您可能没有),否则请使用flask run
来运行开发服务器。这是未来的支持。从docs:
从Flask 0.11开始,建议使用
flask
命令。原因在于,由于开发服务器的重载机制如何工作,使用app.run
时会产生一些奇怪的副作用(比如执行某些代码两次,有时会在没有消息的情况下崩溃或者在语法或语法时死亡)导入错误)。
要解决这些问题,flask
命令会将应用程序与导入应用程序并运行服务器的代码分开。 flask.run
方法仍然存在,因为这些问题都不重要,只会造成混淆。它可能在将来完全弃用。
除run
命令外,它还提供了添加可在应用程序上下文中运行的其他有用命令的功能,而不是单独的扩展或脚本。
与往常一样,同样的警告仍然适用:不要在生产中运行开发服务器。