Flask初始实例化简单理解

理解:Flask 在初始化时传入参数的具体作用到底有哪些?

Flask初始实例化简单理解

了解或使用过 flask 框架的话,肯定会见过过如下所示的代码,其具体的作用就是实例化 Flask 的对象。因为 Web 服务器使用 WSGI 协议,所以需要把客户端所有的请求都转发给这个程序实例,即这里的 app 实例。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)
  • 系统变量的规则
    • 名为 test.py 的模块,其位于应用程序的顶级目录中,那么 __name__ 变量的值就为 test。
    • 如果 test.py 模块位于 my_package 的 Python 包中,则 __name__ 的值就为 my_package.test。
  • 系统变量的例外
    • 在 __init__.py 包构造函数模块中,__name__ 的值是包名称,不带 __init__。例如,在 my_package/__init__.py 中,__name__ 的值就是 my_package。
    • 在应用程序的主模块(运行 Python 解释器的文件)中,__name__ 的值具有特殊值 __main__。