先看一张图吧!
1、请求生命周期
- - wsgi, 他就是socket服务端,用于接收用户请求并将请求进行初次封装,然后将请求交给web框架(Flask、Django)
- - 中间件,帮助我们对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session
- - 路由匹配
- - 视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、templates => 渲染
- - 中间件,对响应的数据进行处理。
- - wsgi,将响应的内容发送给浏览器。
2、什么wsgi
wsgi:web服务网关接口
实现该协议的模块:
- wsgiref(测试版本,性能特别差)
- werkzurg
- uwsig
wsgiref示例:
1 2 3 4 5 6 7 8 9 10 |
|
werkzeug示例:
1 2 3 4 5 6 7 8 9 |
|
3、视图
- FBV
url - 函数
- CBV
url - view
FBV(function base view)与CBV(class base view)本质是一样的,只是fbv基于函数,cbv基于类。只不过fbv较cbv往后多执行了几步。
4、rest-framework
rest-framework从dispatch方法开始介入,执行完视图,如果有rest-framework组件,就执行rest-framework。
5、restfui规范
原文地址:https://www.cnblogs.com/fan-1994716/p/11875766.html