我想知道启动Flask应用程序的正确方法。该文档显示了两个不同的命令:
$ flask -a sample run
和
$ python3.4 sample.py
产生相同的结果并正确运行该应用程序。
两者之间有什么区别,以及用于运行Flask应用程序的区别是什么?
该flask命令是用于与Flask应用进行交互的CLI。该文档介绍了如何使用CLI命令和添加自定义命令。该flask run命令是启动开发服务器的首选方法。
flask
flask run
使用FLASK_APP环境变量将命令指向您的应用程序。设置FLASK_ENV=development为与调试器和重新加载器一起运行。切勿使用此命令公开部署,而应使用生产WSGI服务器,例如Gunicorn,uWSGI,Waitress或mod_wsgi。
FLASK_APP
FLASK_ENV=development
$ export FLASK_APP=sample $ export FLASK_ENV=development $ flask run
在Windows CMD上,使用set代替export。
set
export
>set FLASK_APP=sample
该python sample.py命令运行一个Python文件并进行设置__name__ == "__main__"。如果main块调用app.run(),它将运行开发服务器。
python sample.py
__name__ == "__main__"
app.run()
if __name__ == "__main__": app.run(debug=True)
这两个命令最终都会启动Werkzeug开发服务器,顾名思义,它会启动一个仅在开发期间使用的简单HTTP服务器。您应该更喜欢使用flask run命令而不是app.run()方法。