当前位置:网站首页>第八单元 中间件
第八单元 中间件
2022-08-02 14:01:00 【czy1206527605】
一.中间件
是什么
Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,全局修改Django的输入或输出。
干什么
如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。
在哪里:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
二.中间件的原理与应用
中间件的原理
常用的钩子方法
process_request(self,request) # django 处理请求之前,会执行该方法
process_response(self, request, response) # django返回响应之后,执行该方法
定义与调用
创建定义中间件位置
自定义的中间件
第一个def
处理请求之前调用这个中间件
第二个def
视图返回相应之后返回这个中间件
三.中间件的注册与使用效果
中间件的注册
中间件的效果
正常的效果
错误的效果
边栏推荐
猜你喜欢
【Tensorflow】AttributeError: '_TfDeviceCaptureOp' object has no attribute '_set_device_from_string'
关于市场后市的发展预测? 2021-05-23
The most complete ever!A collection of 47 common terms of "digital transformation", read it in seconds~
Data Organization---Chapter 6 Diagram---Graph Traversal---Multiple Choice Questions
鲲鹏devkit & boostkit
瑞吉外卖笔记——第05讲Redis入门
二分查找 && 树
Raft协议图解,缺陷以及优化
如何解决1045无法登录mysql服务器
目标检测场景SSD-Mobilenetv1-FPN
随机推荐
一维卷积神经网络_卷积神经网络的基础知识「建议收藏」
Audio processing: floating point data stream to PCM file
Linux:CentOS 7 安装MySQL5.7
uview 2.x版本 tabbar在uniapp小程序里头点击两次才能选中图标
【学习笔记】数位dp
ORACLE expdp/impdp详解
世界上最大的开源基金会 Apache 是如何运作的?
The future of financial services will never stop, and the bull market will continue 2021-05-28
Kunpeng devkit & boostkit
Flask框架深入二
第二讲 软件生命周期
Some impressions of the 519 plummet 2021-05-21
HALCON: 对象(object)从声明(declaration)到结束(finalization)
【Tensorflow】AttributeError: module ‘keras.backend‘ has no attribute ‘tf‘
智能指针-使用、避坑和实现
C language improvement (3)
二分查找 && 树
Flutter 实现光影变换的立体旋转效果
Haystack的介绍和使用
鲲鹏devkit & boostkit