一、初始化Falsk框架
Flask框架使用WSGI接口协议对请求进行处理,在构建程序实例的时候需要对flask对象进行初始化操作
from flask import Flask from flask import request app = Flask(__name__)#__name__参数指明该程序个根目录 #程序实例的建立是便于Flask进行上下文管理,flask框架会将request请求内容下入该容器内, #如seesion,浏览器返回内容
二、Flask的路由与视图
flask框架使用程序实例提供的app.route装饰器对函数注册为路由
from flask import Flask app = Flask(__name__)#__name__参数指明该程序个根目录 #程序实例的建立是便于Flask进行上下文管理,flask框架会将request请求内容下入该容器内, #如seesion,浏览器返回内容 @app.route('/')#app就是flask实例,作为装饰器,将函数hello_worl注册为路由,参数‘/’表示程序所在目录位置,可添加其他参数指明该页面地址 def hello_world(): return 'Hello World!'#后置默认情况下返回状态码200,可自行修改其他状态码
三、请求的上下文处理
flask在处理上下文时临时将某些对象作为全局可访问变量,由于线程的问题,不会将变量放在全局中,只会讲变量放入某单个线程中作为全局变量来使用
flask的全局变量
变量名 | 上下文 | 说明 |
current_app | 程序上下文 | 当前激活程序实例 |
g | 程序上下文 | 处理请求时用作临时存储对象。每次请求都会重设这个变量 |
request | 请i求上下文 | 请求对象,封装了客户端发出的HTTP请求中的内容 |
session | 请求上下文 | 用户会话,用于储存请求之间需要记住的值的字典 |
四、flask的请求调度
flask对head与options方法自动处理,因此url映射中的路由使用GET方法
static路由时falsk的特殊方法。用于访问静态文件
五、请求钩子,flask的定制操作
before_first_request :注册一个函数,在处理第一个请求之前运行
before_request :注册一个函数,在每次请求之前运行
after_request : 注册一个函数。如果没有未处理的异常抛出,在每次请求之后运行
teardown_request:注册一个函数,即使有未处理的异常抛出,也在每次请求之后运行