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内置的服务器是不可以的