为什么在flask项目中使用__nam__ == "__main__"
发布时间
阅读量:
阅读量
__name__ == "__main__"是什么意思? 为什么要在flask项目后面加上这一段
1. 什么是__name__ == "__main__"
- 基本上在每个python文件的入口都会加上这一句, 表示这是程序的执行入口
__name__ == "__main__"下的程序, 表示只能在入口文件中执行- 如果当前模块(带有
__name__ == "__main__"), 是被导入执行的, 那么__name__ == "__main__"下面的文件就 不会执行
2. 为甚么在flask项目中加上这个入口, 并在这个入口下面启动服务器
if __name__ == '__main__':
app.run()
AI写代码
我们在 开发阶段 使用的服务器是 flask自身自带 的一个相对简单的配置。
当我们将项目迁移到 生产阶段 时,我们通常会采用 nginx+uwsgi 这一配置模式:其中 nginx 作为前体服务器负责接收浏览器的所有请求,并将请求转发给 uwsgi 进行处理。
在生产环境中,我们不再依赖直接运行命令的方式来启动服务,而是通过调用 uwsgi 加载项目模块的方式启动服务流程。这样一来,在项目主文件中不再设置 __name__ == "__main__" 设置为默认运行点。因此,在生产环境中直接调用 app.run() 是无法正常工作的。
若在模块内部不设置 __name__ == "__main__" 设置,则在生产环境中将同时运行 flask 自带的简单服务器和 nginx+uwsgi 两个服务节点配置,默认情况下这是不允许的操作。
全部评论 (0)
还没有任何评论哟~
