flask中if __name__的作用

if __name__ == '__main__':
    app.run(debug=app.config['DEBUG'])

一般的解释是:如果是文件是作为模块导入的,则不执行if__name__以下的内容。

那么,在flask中增加这个判断,再启动web服务器,到底有什么具体的意义呢?

开发环境下所启动的服务器是flask自带的一个简单的服务器

当把项目部署到生产环境时,通常不会使用flask自带的服务器

生产环境中,常使用nginx+uwsgi来部署项目

nginx作为前置服务器,用来接收浏览器发来的请求,再把这个请求转发给uwsgi

在生产环境中是由uwsgi加载项目文件启动,项目文件如app.py不再是入口文件,它只是由uwsgi加载的模块文件

在生产环境中app.run()是不会执行的

如果没有了if__name__这个判断

在生产环境中一旦加载了app.py,app.run()就会执行,

而已经有了uwsgi作为web服务器,再启动flask内置的服务器是不可以的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值