flask十七: Flask四大内置对象
钩子函数:
- 面向接口编程
- 动态介入请求流程
Django中间件
Django请求流程:
client ->urls -> views -->models -->views-->response
client -> process_request请求插件列表-->urls -> process_view插件列表
-> views -> models ->views->response->process_response插件列表
在django中,这些插件,就是钩子函数
Flask请求中间件
from flask import Flask from application.views import init_view from application.ext import init_ext from application.settings import ENV from application.middleware import load_middleware def create_app(env): app = Flask(__name__) # 初始化项目配置 config_object = ENV.get(env) app.config.from_object(config_object) # 初始化路由相关 init_view(app) # 初始化扩展: models, migrate, Session持久化 init_ext(app) # 中间件 load_middleware(app) return app
from flask import request def load_middleware(app): @app.before_request def before(): """ 统计 优先级 反爬 请求频率 用户认证 用户权限 ...... """ print("app before_request中间件", request.url) @app.after_request def after(resp): """ 动态的数据返回 数据过滤 ...... """ print("app after_request中间件", resp) return resp
蓝图中间件
@root_blue.before_request def before(): print("blue before_request中间件", request.url) @root_blue.after_request def after(resp): print("blue after_request中间件", resp, type(resp)) return resp
posted on 2020-06-22 15:18 myworldworld 阅读(253) 评论(0) 收藏 举报