一、初始项目分析
初始化一个最简单的Flask项目并逐行分析:
from flask import Flask
app = Flask(__name__) # 1. 底层flask.helpers.get_root_path由__name__确定主目录
# 2. 使用装饰器确定函数和url的关系,绑定在app.url_map属性上
@app.route("/")
def index():
return "Hello World!"
if __name__ == '__main__':
app.run() # 3. 调用run函数运行服务器
运行结果,创建了服务器监听5000端口的请求:
![](https://img.haomeiwen.com/i13439395/7c6947254ee82862.png)
为弄清楚__name__
,尝试初始化时不传递参数,报错,缺少位置参数import_name
。
![](https://img.haomeiwen.com/i13439395/c28e90c446c7a618.png)
创建Flask项目时,Flask会根据传进的__name__
确定当前模块为项目主模模块,flask.helpers.get_root_path
函数通过传入名字确定当前为主目录,以此获得静态文件和模板文件的目录。也就是说用户访问数据时,是根据当前实例中__name__
定位当前项目主模块并获得相应资源。
网友评论