新版本的Flask中如何启动开发服务器和开启调试模式

本文介绍了在Flask 0.11及更高版本中如何使用`flask run`命令替代`app.run()`启动开发服务器和开启调试模式。讲解了设置FLASK_APP环境变量的不同方式,包括单脚本程序、包组织的程序和使用工厂函数创建程序。此外,还说明了如何通过.env或.flaskenv文件避免重复设置环境变量,以及如何自定义主机和端口。最后讨论了`app.run()`的未来,建议更多地使用`flask run`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从Flask 0.11版本开始,官方就建议使用flask run命令来取代app.run()方法运行开发服务器。尽管如此,两年多过去了,仍然有大量新发布的文章和教程在示例中使用app.run()方法启动程序。类似的,虽然内置的命令行支持已经非常完善,但还有很多人在使用Flask-Script。

 

不得不承认,在某些特殊场景下,app.run()更加方便,比如创建Flask命令在附加Werkzeug提供的性能分析中间件后启动程序,这时通过app.run()可以直接在脚本内启动程序。但是在大多数情况下,flask run更能胜任启动开发服务器的工作。而且,在大型项目中,使用app.run()需要你在项目根目录单独创建一个启动脚本,flask run则没有这个要求;在单脚本程序中,使用flask run也可以省掉脚本末尾的两行代码。

注意 这两种方法都只是用来启动内置(Werkzeug提供)的开发服务器,仅适用于开发用途。在生产环境下,应该使用性能更好,更加完善的开发服务器,比如Gunicorn、uWSGI等。

不同组织形式的程序的启动方式

下面我们来了解一下使用flask run启动开发服务器时在几种方式。

  • 简单的单脚本程序

如果脚本命名为app.py或wsgi.py,那么在包含程序脚本的目录下直接调用flask run即可:

$ flask run

Flask会自动探测找到脚本中的程序实例并启动。如果脚本命名为其他名称,比如hello.py,那么需要将脚本名写入环境变量FLASK_APP,然后再调用flask run命令:

$ export FLASK_APP=hello

$ flask run

提示 在Windows系统下,你需要使用set命令来设置环境变量,比如 > set FLASK_APP=hello,后面的命令亦同。

  • 使用包组织的程序

  • 这种情况下,可以将包含程序实例的对应模块的路径写入FLASK_APP:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值