Django中间件的总结
一、中间件
--中间件是一个轻量级、底层的插件系统,可以加入Django的请求和响应过程,修改Django的输入和输出
--每一个中间件组件是一个独立的Python类,可以定义下面方法中的一个和多个
--__init__:无需要任何参数,服务器响应的第一个请求的时候调用一次,用于确定是否启用当前的中间件
--process_request(request):执行视图之前被调用,在每个请求上调用,返回None或 HttpResponse对象
--process_view(request,view_func,view_args,view_kwargs):调用视图函数之前被调用,在每个请求上被调用,返回None或HtppResponse对象
--process_template_response(request,response):在视图刚好执行完毕之后被调用,再每一个请求上调用,返回实现了render方法的响应对象
--process_response(request,response):所有响应返回浏览器之前被调用,在每一个请求上调用,返回HttpResponse对象
--process_exception(request,response,exception):当视图抛出异常是调用,在每个请求上调用,返回一个HttpResponse对象
a、中间件是什么?
--中间件是一个类
b、返回值注意是什么?
--无返回值:继续执行后续函数中间件和视图函数
--有返回值:有返回值执行process_response和上面的response
c、中间件做过什么:
--用户登录
--日志记录
--权限管理
--session
--csrf
process_view
d、中间件和装饰器的区别
--中间件用于批量操作,装饰器用于单个
最新文章
- POJ2513-Colored Sticks
- jQuery控制表头
- dos2unix对shell脚本程序的解救
- 实现Launcher默认壁纸、选择壁纸定制化功能
- 【转】SQL SERVER日志满或过大的处理方法
- hdu5017 Ellipsoid(旋转)
- redmine 2.5.2 安装后邮件无法发送
- Spring ProxyFactory
- 三个数从小到大排序—南阳acm
- java过滤html标签函数
- 基于JAX-WS的WebService实现
- 单元测试框架 unittest 的运行方法if __name__ == '__main__': unittest.main()
- 对于新版本的webstorm对vue的支持
- 【Maven】基础概念、仓库、构建与部属
- 基于OSGI.NET的MVC插件式开发
- Linux下查/删/替 命令(转)
- redis 五大数据类型之sortedset
- lintcode 刷题 by python 部分链表题总结(2)
- openstack--5--控制节点和计算节点安装配置nova
- node webkit(nw.js) 设置自动更新
热门文章
- 学习即语言的学习 “表示” “presentation”
- MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL
- Django 之 URL(路由)分发机制
- 我的Android进阶之旅------>Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法
- Android学习资源网站大全
- requirejs源码分析: requirejs 方法–2. context.require(deps, callback, errback);
- Python 1 数据类型的操作
- Python 1 的数据类型
- Kattis - pseudoprime 【快速幂】
- 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.