1.创建 Flask 应用对象:
1在创建 Flask 应用时,会实例化 Flask 类,并传递当前模块的名称作为参数。
from flask import Flask
app = Flask(__name__)
2.定义路由和视图函数:
使用 @app.route 装饰器来将路由与视图函数进行关联。在上述例子 中,根路径 / 与 index 视图函数关联起来。
@app.route("/")
def index():
return "Hello World!"
3.启动应用程序:
通过调用 app.run() 方法,Flask 应用会启动内置的开发服务器,并开始监听来自客户端的请求。
if __name__ == "__main__":
app.run()
4.处理请求:
当有请求到达应用时,开发服务器将会调用底层的 werkzeug 库来处理请求。werkzeug 是 Flask 使用的 HTTP 工具库,具有处理请求和生成响应的能力
app.wsgi_app(environ,start_response)
5.路由匹配和调度:
当有请求到达应用时,开发服务器将会调用底层的 werkzeug 库来处理请求。werkzeug 是 Flask 使用的 HTTP 工具库,具有处理请求和生成响应的能力
rule = self.url_rule.bind_to_environ(request.environ)
try:
endpoint, values = rule.match(return_rule=True)
except NotFound:
# 处理找不到匹配路由的情况
...
6.视图函数处理请求:
调用视图函数前,Flask会处理请求上下文(request context)以及其他上下文管理器,通过 AppContext 进行上下文管理,保证在相同的线程中请求和上下文始终有效。
视图函数被调用时,可以通过 request 对象获取请求的数据,如表单数据、URL 参数等。视图函数通过返回值或者使用 make_response 函数构建响应对象,并返回给客户端。
7.响应生成和发送:
调用视图函数前,Flask会处理请求上下文(request context)以及其他上下文管理器,通过 AppContext 进行上下文管理,保证在相同的线程中请求和上下文始终有效。
视图函数被调用时,可以通过 request 对象获取请求的数据,如表单数据、URL 参数等。视图函数通过返回值或者使用 make_response 函数构建响应对象,并返回给客户端。