一、中间件

--中间件是一个轻量级、底层的插件系统,可以加入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、中间件和装饰器的区别

--中间件用于批量操作,装饰器用于单个

最新文章

  1. POJ2513-Colored Sticks
  2. jQuery控制表头
  3. dos2unix对shell脚本程序的解救
  4. 实现Launcher默认壁纸、选择壁纸定制化功能
  5. 【转】SQL SERVER日志满或过大的处理方法
  6. hdu5017 Ellipsoid(旋转)
  7. redmine 2.5.2 安装后邮件无法发送
  8. Spring ProxyFactory
  9. 三个数从小到大排序—南阳acm
  10. java过滤html标签函数
  11. 基于JAX-WS的WebService实现
  12. 单元测试框架 unittest 的运行方法if __name__ == '__main__': unittest.main()
  13. 对于新版本的webstorm对vue的支持
  14. 【Maven】基础概念、仓库、构建与部属
  15. 基于OSGI.NET的MVC插件式开发
  16. Linux下查/删/替 命令(转)
  17. redis 五大数据类型之sortedset
  18. lintcode 刷题 by python 部分链表题总结(2)
  19. openstack--5--控制节点和计算节点安装配置nova
  20. node webkit(nw.js) 设置自动更新

热门文章

  1. 学习即语言的学习 “表示” “presentation”
  2. MySQL权限系统(二). MySQL提供的特权 Privileges Provided by MySQL
  3. Django 之 URL(路由)分发机制
  4. 我的Android进阶之旅------>Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法
  5. Android学习资源网站大全
  6. requirejs源码分析: requirejs 方法–2. context.require(deps, callback, errback);
  7. Python 1 数据类型的操作
  8. Python 1 的数据类型
  9. Kattis - pseudoprime 【快速幂】
  10. 'substring(from:)' is deprecated: Please use String slicing subscript with a 'partial range from' operator.